solved(??): c#: datenpakete >1kb senden/empfangen
Jedi 31.03.2003 - 13:11 3249 24
that
Hoffnungsloser Optimist
|
ich nehme an er meint multiple verbindungen auf einem tcp socket  Geht das überhaupt?
|
atrox
in fairy dust... I trust!
|
falls es bei c# keine klasse für sowas gibt, müsste man sich so ein multiplexing selber programmieren
|
FMFlash
tranceCoder
|
Geht das überhaupt? natürlich, es können praktisch beliebig viele clients auf ein und dem selben tcp socket des hosts verbunden sein. falls es bei c# keine klasse für sowas gibt, müsste man sich so ein multiplexing selber programmieren von selbst programmieren bin ich eigentlich die ganze zeit über ausgegangen
|
that
Hoffnungsloser Optimist
|
es können praktisch beliebig viele clients auf ein und dem selben tcp socket des hosts verbunden sein. und wenn man send aufruft, an welchen Client geht das dann? Hast du ein Codebeispiel? Oder meinst du doch "Port" statt "Socket"?
|
FMFlash
tranceCoder
|
und wenn man send aufruft, an welchen Client geht das dann? Hast du ein Codebeispiel? Oder meinst du doch "Port" statt "Socket"? stimmt, ich meinte natürlich PORT  man kann die SOCKADDR_IN struct des sockets während bereits ein verbindung besteht afaik nicht mehr ändern, oder? sonst könnte man doch über die struktur die clients auseinanderhalten bzw bestimmen an wen die daten gesendet werden - mit nur einem socket.
|
atrox
in fairy dust... I trust!
|
(gilt jetzt für direkten zugriff auf sockets, nicht für wrapper objekte)
nach dem zustandekommen eines sockets bekommst du vom tcpip-stack einen descriptor (eine nummer wie zb ein file handle), du kannst dann eine connect()-operation darauf ausführen, usw.. aber nachträgliche änderungen in der struct wirken sich dann nicht mehr auf den netzwerk-stack aus. auch beim ausführen von sendto() werden die zusätzlichen parameter ignoriert.
ich glaub wir kommen jetzt zu sehr von c# ab.
|
FMFlash
tranceCoder
|
aber nachträgliche änderungen in der struct wirken sich dann nicht mehr auf den netzwerk-stack aus. auch beim ausführen von sendto() werden die zusätzlichen parameter ignoriert. dachte ich mir schon, also braucht man pro connection ein socket objekt. ps: sendto () hat nix mit tcp zu tun, das is die udp-daten-versend-funktion du meintest wohl send ()
|
atrox
in fairy dust... I trust!
|
es ist, wie gesagt, möglich sendto() zu verwenden, aber wenig sinnvoll: sendto() is normally used on a connectionless socket to send a datagram to a specific peer socket identified by the to parameter. Even if the connectionless socket has been previously connected to a specific address, to overrides the destination address for that particular datagram only. On a connection-oriented socket, the to and tolen parameters are ignored; in this case, the sendto() is equivalent to send(). --- ok, aber wie gesagt, wir entfernen uns zusehens von c#, und sollten mal die reaktion vom Jedi abwarten.
|
FMFlash
tranceCoder
|
der thread ist bereits als "solved" markiert
|
atrox
in fairy dust... I trust!
|
der thread ist bereits als "solved" markiert  nach der beschreibung von Jedi sollte es wohl eher "workaround" heissen
|