View Full Version : [C, sockets] dopo una accept
ho un dubbio, credo che molti qui sapranno rispondermi rapidamente senza che vado a spulciarmi MSDN. nei sockets di Berkeley è possibile chiamare nuovamente listen su un socket sul quale si è fatta una accept, ovvero è possibile riutilizzare uno stesso socket già messo precedentemente in listen per ascoltare nuovamente sulla stessa porta? e su Winsock è lo stesso?
ho un dubbio, credo che molti qui sapranno rispondermi rapidamente senza che vado a spulciarmi MSDN. nei sockets di Berkeley è possibile chiamare nuovamente listen su un socket sul quale si è fatta una accept, ovvero è possibile riutilizzare uno stesso socket già messo precedentemente in listen per ascoltare nuovamente sulla stessa porta? e su Winsock è lo stesso?
mangiatore di quiche che non sei altro :fagiano:
si
prima devi chiudere il socket.
closesocket(socket[i]);
poi lo azzeri
socket[i]=0;
questo sopra se lavori su un for fisso per esempio 10 socket dove chi si logga prende il numero che trova libero.
void FreeSocketInformation(DWORD Index)
{
DWORD i;
for (i = Index; i < TotalSockets; i++)
{
Socket[i] = Socket[i + 1];
}
closesocket(socket[TotalSockets-1]);//lo chiudi
Socket[TotalSockets-1]=0; //lo azzeri
TotalSockets--;
}
questo sopra hai un ciclo a runtime dei socket collegati, chi si disconnette si fà in modo di scalare i socket
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.