如何实现重试对话框“重试功能”?
程序的第一步是要绑定到某一个端口,但有可能绑定失败,故做了个(retval==SOCKET_ERROR)判断。判断错误时要弹出具有“重试”功能的
提示对话框(MB_RETRYCANCEL)。那么,单击“重试”按钮要继续进行绑定端口,那要怎么编程实现这个逻辑判断呢?
我个人认为:bind()错误时返回SOCKET_ERROR,然后才出现MessageBox(),用户单击“重试”按钮返回IDRETRY,这时又bind()..........但此二者发生的时刻不同, 要怎么写这个判断语句啊??
BOOL CCharDlgDlg::InitSocket()
{
m_socket=socket(AF_INET ,SOCK_DGRAM ,0);
SOCKADDR_IN addrSock;
addrSock.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
addrSock.sin_port=htons(6000);
addrSock.sin_family=AF_INET;
int retval=bind(m_socket,(SOCKADDR*)&addrSock,sizeof(addrSock));
if(retval==SOCKET_ERROR)
{
closesocket(m_socket);
MessageBox("端口绑定错误!",NULL,MB_RETRYCANCEL);//?
return FALSE;
}
return TRUE;
}