solved(??): c#: datenpakete >1kb senden/empfangen - Seite 2

Seite 2 von 2 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/solved_c_datenpakete_gt1kb_senden_empfangen_73276/page_2 - zur Vollversion wechseln!


that schrieb am 04.04.2003 um 09:39

Zitat von FMFlash
ich nehme an er meint multiple verbindungen auf einem tcp socket ;)

Geht das überhaupt?


atrox schrieb am 04.04.2003 um 10:14

falls es bei c# keine klasse für sowas gibt, müsste man sich so ein multiplexing selber programmieren


FMFlash schrieb am 04.04.2003 um 17:49

Zitat von that
Geht das überhaupt?

natürlich, es können praktisch beliebig viele clients auf ein und dem selben tcp socket des hosts verbunden sein.

Zitat von atrox
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 schrieb am 05.04.2003 um 00:01

Zitat von FMFlash
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 schrieb am 05.04.2003 um 09:07

Zitat von that
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 :bash:

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 schrieb am 05.04.2003 um 12:03

(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 schrieb am 05.04.2003 um 14:33

Zitat von atrox
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 schrieb am 05.04.2003 um 14:41

es ist, wie gesagt, möglich sendto() zu verwenden, aber wenig sinnvoll:

Zitat
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 schrieb am 05.04.2003 um 14:48

der thread ist bereits als "solved" markiert :confused:


atrox schrieb am 05.04.2003 um 15:07

Zitat von FMFlash
der thread ist bereits als "solved" markiert :confused:

nach der beschreibung von Jedi sollte es wohl eher "workaround" heissen :)




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025