0
函數close(套接字)在客戶端,服務器得到哪個返回值? 每當我關閉客戶端的連接時,我的服務器也會關閉,當我嘗試重新打開它時,我得到: bindind套接字中的錯誤:Addadress Alreasy正在使用中。Linux:套接字和綁定問題
但我在我的服務器上使用此功能:
n = read(newsockfd, buffer, sizeof(buffer));
if (n < 0) errore("Errore lettura Socket");
if (n == 0)
{
int true = 1;
setsockopt(sockfd,SOL_SOCKET,SO_REUSEADDR,&true,sizeof(int));
shutdown(sockfd, SHUT_RDWR);
close(sockfd);
}
它通常是需要的服務器s來設置'SO_REUSEADDR',而不是客戶端。 – Alnitak
是的,這是來自服務器端的代碼 – Emperon
'setsockopt'調用應該在您創建套接字時進行 - 它不應該在您從客戶端 –