我有一段代码,其中创建了一个服务器套接字,并将其设置为侦听特定的端口号(比如5005)。现在,一旦accept socket函数返回,创建的套接字就会复制到m\u socket变量中,最后我关闭了名为SocServer的服务器套接字,该套接字是在本地创建的。
现在我的问题是
SocServer(最初创建的)和m\u Socket(accept返回时复制的)是否可能得到相同的数字,比如1500。
struct sockaddr_in ServerSock; // Socket address structure to bind the Port Number to listen to
char *localIP ;
SOCKET SocServer;
//To Set up the sockaddr structure
ServerSock.sin_family = AF_INET;
ServerSock.sin_addr.s_addr = INADDR_ANY
ServerSock.sin_port = htons(PortNumber);//port number of 5005
// To Create a socket for listening on PortNumber
if(( SocServer = socket( AF_INET, SOCK_STREAM, 0 )) == INVALID_SOCKET )
{
return FALSE;
}
//To bind the socket with wPortNumber
if(bind(SocServer,(sockaddr*)&ServerSock,sizeof(ServerSock))!=0)
{
return FALSE;
}
// To Listen for the connection on wPortNumber
if(listen(SocServer,SOMAXCONN)!=0)
{
return FALSE;
}
// Structure to get the IP Address of the connecting Entity
sockaddr_in insock;
int insocklen=sizeof(insock);
//To accept the Incoming connection on the wPortNumber
m_Socket=accept(SocServer,(struct sockaddr*)&insock,&insocklen);
//delete the server socket
if(SocServer != INVALID_SOCKET)
{
//To close and shutdown the Socserver
shutdown(SocServer, 2 );
closesocket(SocServer);
}
Socserver和mïu socket是否可能是相同的,因为
注:这只发生在一些机器上,并不总是可复制的。原因是否与其他网络相关。