![]() |
TCP Kommunikation - wie am besten realisieren
Hi Leute, ich brauch für mein Projekt eine Möglichkeit zur TCP-Kommunikation
Ausgetauscht werden nur PlainText - Informationen bzw. XML-Strings. Wie realisiere ich das am besten ? Über Indys oder Sockets ? wo liegen die vor und nachteile ? |
Re: TCP Kommunikation - wie am besten realisieren
Auch die Indys nutzen intern die Sockets. Es ist also technisch gesehen exakt das gleiche.
Nur abstrahieren die Indys etwas mehr - bei direkter Nutzung der Sockets musst Du Dich selber noch um das Protokoll kümmern. Bei Plain Text würde ich persönlich jetzt spontan zu http als Protokoll greifen. Bei XML zu SOAP. Das Protokoll ist in erster Linie für die Übertragung von Text ausgelegt und hat sich dafür bewährt. WebServices sind ja im Prinzip auch nix anderes als via http übertragene XML-Dokumente. |
Re: TCP Kommunikation - wie am besten realisieren
hmm würde ja auch gerne http verwenden.....
gibts da irgendwelche nachteile durch ? |
Re: TCP Kommunikation - wie am besten realisieren
noch ne frage: wie realisiere ich bei der http - variante ereignisse die der server dem client mitteilen will?
|
Re: TCP Kommunikation - wie am besten realisieren
Zitat:
Zitat:
Exakt das ist der Nachteil - bei HTTP überträgst du deine Daten, und dann ist die Verbindung beendet. Es besteht keine kontinuerliche Verbindung, deswegen ist eine Kontaktaufnahme des Servers mit dem Client nicht möglich. |
Re: TCP Kommunikation - wie am besten realisieren
Zitat:
BTW Er muss sich ja nicht 100% an den Standard halten. ;) |
Re: TCP Kommunikation - wie am besten realisieren
Ja es gibt eine KeepAlive - Methode, jedoch wird dieses aufrechthalten der Verbindung schnell von Firewalls geblockt.
Was haltet ihr von der Realisierung jede Sekunde beim Server nachzufragen ob es was neues gibt ? |
Re: TCP Kommunikation - wie am besten realisieren
Moin,
ich mach sowas üblicherweise über die stink normalen Sockets. Die Verbindung steht und bleibt erhalten bis man disconnected. Hat einer was mitzuteilen so sendet er das (Client oder Server) und die Gegenseite bekommt das automatisch per Ereignis mit (read). Nachteil ist, dass man sein eigenes Protokoll entwerfen muss. Handelt es sich aber um relativ simple Themen ist das in der Regel kein Aufwand. Man schafft sich im Grunde kleine Identifyer z.B.: <USERMSG> <SYSEVENT> usw. mit denen man die Übertragung des entsprechenden datenstroms einleitet und gegebenenfalls am Ende markiert. Dazwischen stehen die Nutzdaten. An Hand des Identifiers kann man dann auf der Empfängerseite entsprechend reagieren und die Daten verarbeiten. Gruß oki |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz