Alexander (HH): TCp-socket und Serielle Schnittstelle

Beitrag lesen

Moin Moin!

nach diversen Versuchen und mittlerweile unleserlichem Code muss ich mich mal an euch wenden.

Hmmm, nicht nur Dein Code ist unleserlich. Dein Posting ist auch kein Musterbeispiel für eine nachvollziehbare Problembeschreibung.

Ausgangssituation: Ich habe an einem Linuxrechner per serial-Adapter

Was für einen Adapter?

einen Mikrocontroller angeschlossen. Der empfängt und sendet Daten

Wer? Der µC oder der Linux-Rechner?

welche ihm vorher ein oder mehrere TCP-clients gesendet haben.

Den Socket-Aufbau als solchen multithreaded habe ich, ich habe aber Probleme bei der Verwendung der seriellen Schnittstelle.
Ich verwende das CPAN:Serialport.

Was ist ein "CPAN:Serialport"? Meinst Du irgendeines der verschiedenen Packages für die Kommunikation mit der seriellen Schnittstelle, die man auf CPAN findet? Wenn ja, welches der 186?

"Normales" senden und lesen mit lookfor gehen.

Was ist "lookfor"?

ABER, nun kommt der Knackpunkt, der TCP-Client sendet in einem eigenen Thread -

Ich steige hier mal aus. Threads sind in Perl nicht immer die beste Idee. Nicht alle Module sind threadsafe, und oft sind Threads auch gar nicht nötig.

Was Du hier zu basteln versuchst, klingt für mich nach einer großen select-Schleife, die immer das Handle bedient, das gerade Daten anliefern bzw. abnehmen kann. IO::Select verpackt select in ein etwas freundlicheres Objekt. IO::Event verpackt den Rest der Schleife auch noch.

Any ideas für ein sauberes programm design?

Ja. Bleistift, Radiergummi und viel Papier für einen *PLAN*.

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".