Netzwerkprogrammierung: TcpClient oder Sockets?

07/08/2009 - 17:58 von Martin Becker | Report spam
Hallo,

ich mache mich gerade mit Netzwerkprogrammierung vertraut. Die Klasse
TcpClient ist ja schon sehr komfortabel. Man kann ja aber auch weiter
"unten" Programmieren, also quasi auf Socket-Ebene.

Von C/C++ her kommend ist mir die untere Ebene ziemlich gelàufig.

Für mich stellt sich die Frage: was empfiehlt der Fachmann? Ich kann
(zumindest jetzt och nicht) keinerlei Vorteile der socket-Programmierung
gegenüber TcpClient sehen.

Was meinen die Experten?

Viele Grüße und schönes WoEnde!!!
 

Lesen sie die antworten

#1 Frank Dzaebel
07/08/2009 - 18:25 | Warnen spam
Hallo Martin,

ich mache mich gerade mit Netzwerkprogrammierung vertraut. Die Klasse
TcpClient ist ja schon sehr komfortabel. Man kann ja aber auch weiter
"unten" Programmieren, also quasi auf Socket-Ebene.



ja, aber Sockets sind wirklich in den seltensten
Fàllen notwendig. Es gibt sie, aber man
kann ja auch immer im TcpClient-Scenario vom
TcpClient wieder den zugrundeliegenden Socket
benutzen. Bei reinen Sockets würde normal die Komplexitàt
ansteigen.
In meinen (z.T. performance-kritischen) Projekten habe
ich mit dem TcpClient gute Erfahrungen gemacht.
Ein kleiner Nachteil des blockierenden Szenarios ist, dass
zusàtzliche Synchronisations-Maßnahmen bei MessagePump-
basierten Apps vorgenommen werden müssen, um die
Responsefàhigkeit der App zu gewàhrleisten:

[Client-Server Kommunikation mit dem TcpClient und TcpListener]
http://dzaebel.net/TcpClientServer.htm


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen