WinSock.h und setsockopt()
-
Tachchen,
bei meinem Socketprogramm muß ich, kurz nachdem ich den Socket geschlossen hab, ihn wieder öffnen um eine neue Verbindung herzustellen. Nun blockt ja aber das System den eben geschlossen port eine weile.Ich benutze folgende Methoden.
lSocket = socket( PF_INET, SOCK_STREAM, 0); // zum erstellen //binden int bind_err = bind( lSocket, (sockaddr*)&local_sin, sizeof( sockaddr_in)); //offnen int err = connect(lSocket, (struct sockaddr*)&server_sin, sizeof( server_sin)); // und wieder schließen if(closesocket(lSocket)<0)Wie müßte denn jetzt die Syntax für setsockopt ausschauen, damit nicht gewartet wird, sondern der sockel sofort geschlossen wird, um ihn 4sec. später wieder zu öffnen?
-
das geht nicht
-
SO_REUSEADDR
-
An deiner Stelle würde ich lieber warten bis die vier Sekunden abgelaufen sind, als SO_REUSEADDR zu verwenden. Die Option erlaubt es nämlich jedem Programm, auf deinem PC das Port zu benutzen und nicht nur speziell deinem Programm.
Kommt natürlich darauf an, ob du das in Kauf nehmen willst
Wenn ja, dann würde das dein Problem lösen^^