在C++/MFC-套接字CSocket之一般流程中,按照C/C++UDP套接字之一般流程修改即可
1、创建套接字Create(m_nPort,SOCK_DGRAM) (注:不需要listen)
2、绑定IP和端口Bind(m_nPort,m_strIp)
3、添加成员变量 SOCKADDR_IN m_Clientaddr;
4、在???Dlg::OnReceive中用ReceiveForm接收数据
m_ServerSocket.ReceiveFrom(buf,256,(SOCKADDR*)&m_Clientaddr,&len); //接收数据
5、用成员函数SendTo发送数据
m_ServerSocket.SendTo(m_strMsg,len,(SOCKADDR*)&m_Clientaddr,sizeof(m_Clientaddr));// 发送消息
1、创建套接字 Create(m_nPort,SOCK_DGRAM)
绑定IP和端口
2、添加成员变量 SOCKADDR_IN m_Serveraddr;并在OninitDialog里初始化(下面的代码用于将编辑框中的IP地址转化为多字节的)
charstrip[222]="";
WideCharToMultiByte(CP_ACP,WC_COMPOSITECHECK,m_strIp,wcslen(m_strIp),strip,222,NULL,NULL);
m_ServerAddr.sin_family=AF_INET;
m_ServerAddr.sin_addr.S_un.S_addr=inet_addr(strip);
m_ServerAddr.sin_port=htons(m_nPort);
3、用成员函数SendTo发送数据
m_ClientSocket.SendTo(m_strMsg,len,(SOCKADDR*)&m_Serveraddr,sizeof(m_Clientaddr));// 发送消息
4、在???Dlg::OnReceive中用ReceiveForm接收数据
m_ClientSocket.ReceiveFrom(buf,256,(SOCKADDR*)&m_Serveraddr,&len); //接收数据