大家好,又见面了,我是你们的朋友全栈君。
VC连接服务器过程: 1. 服务器端创建端口 a) 使用一个侦听子类来创建如CListenSocket* m_pSocket,这个子类中重载Socket函数OnAccept(int nErrorCode),在OnAccept函数中主要完成服务器端纪录并保存客户端的信息。 Void CListenSocket::OnAccept(int nErrorCode) { //先设置一个变量用来接受连接客户端的信息 CListenSockt* pSocket = new CListenSocekt(); //获得主窗体 CChatRoomServerDlg*pMainWnd=((CChatRoomServerDlg*)(AfxGetApp()->pMainWnd)); If(pMainWnd->m_pSocket->Accept(pSocket)) pMainWnd->m_SocketList.AddTail(pSocket); else delete pSocket; CSocket::OnAccept(nErrorCode); } b) 创建端口Socket,如m_pSocket->Create(Port). c) 开始侦听m_pSocekt->Listen(). 2. 客户端创建 a) 创建一个CClientSocket类,函数中重载OnReceive(int nErrorCode), 主要完成接受信息事务((CChatRoomClientDlg*) (AfxGetApp()->m_pMainWnd))->GetSocketMsg(this); b) pSocket->Create(),创建默认Socket。 c) pSocket->Connect(IP,Port)。 这样就可以把服务器和客户端都相应的设置好了。 注意:IP地址和端口地址一定要相同,我就因为IP不对应花了我好多时间调试
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/170044.html原文链接:https://javaforall.cn