不懂SO_REUSEADDR到底有什么作用?
//看资料说是用于端口重绑定,但写程序验证却失败了(预期会弹出2个对话框,结
//果只有1个,为什么?请讲讲它的作用。
#include <winsock2.h>
void main()
{
WSADATA w;
WSAStartup(MAKEWORD(2,2),&w);
SOCKET a,b;
a=socket(AF_INET,SOCK_DGRAM,0);
b=socket(AF_INET,SOCK_DGRAM,0);
BOOL bReuse=TRUE;
setsockopt(a,SOL_SOCKET,SO_REUSEADDR,(LPCTSTR)&bReuse,sizeof
(BOOL));
sockaddr_in sa;
sa.sin_family=AF_INET;
sa.sin_port=htons(7070);
sa.sin_addr.s_addr=inet_addr("127.0.0.1");
if(bind(a,(sockaddr*)&sa,sizeof(sockaddr))==0)
MessageBox(NULL,"A success","提示",MB_OK);
if(bind(b,(sockaddr*)&sa,sizeof(sockaddr))==0)
MessageBox(NULL,"B success","提示",MB_OK);
WSACleanup();
}