1.引入AfxSocketInit()进行Socket版本协商函数所需头文件,#include <afxsock.h>,放在Header Files的StdAfx.h中。
[img]http://dl.iteye.com/upload/attachment/380435/b845b808-7244-3560-90df-371b3c67ee3e.jpg[/img]
2.在WinApp中加载套接字库
[img]http://dl.iteye.com/upload/attachment/380439/bd2bd5ac-b0e0-3db2-941b-6f271402af72.jpg[/img]
3.添加m_socket成员变量用来初始化Socket
[img]http://dl.iteye.com/upload/attachment/380441/4a29151c-a61d-3f94-a0b6-aefed3267bc0.jpg[/img]
4.添加初始化socket的成员函数
并在OnInitDialog()中调用InitSocket();
[img]http://dl.iteye.com/upload/attachment/380435/b845b808-7244-3560-90df-371b3c67ee3e.jpg[/img]
2.在WinApp中加载套接字库
[img]http://dl.iteye.com/upload/attachment/380439/bd2bd5ac-b0e0-3db2-941b-6f271402af72.jpg[/img]
3.添加m_socket成员变量用来初始化Socket
[img]http://dl.iteye.com/upload/attachment/380441/4a29151c-a61d-3f94-a0b6-aefed3267bc0.jpg[/img]
4.添加初始化socket的成员函数
BOOL CChatDlg::InitSocket()
{
//服务端socket
m_socket=socket(AF_INET,SOCK_DGRAM,0);
if (INVALID_SOCKET==m_socket)
{
MessageBox("创建套接字失败!");
return FALSE;
}
//接收socket的地址信息
SOCKADDR_IN addrSock;
addrSock.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
addrSock.sin_family=AF_INET;
addrSock.sin_port=htons(6000);
int bindRetval;
bindRetval=bind(m_socket,(SOCKADDR*)&addrSock,sizeof(SOCKADDR));
if (SOCKET_ERROR==bindRetval)
{
closesocket(m_socket);
MessageBox("绑定套接字失败!");
return FALSE;
}
return TRUE;
}
并在OnInitDialog()中调用InitSocket();