//服务端和客户端合并,使用多线程技术实现
#include <WinSock2.h>
#include <iostream>
#include <process.h>
#pragma comment(lib,"ws2_32.lib")
using namespace std;
const unsigned short PORT = 8008;
SOCKET sock;
//线程函数,实现接收函数
void RecMain(void *pM)
{
char s[256];
sockaddr_in sfrom = {0};
int slen = sizeof(sfrom);
int result;
while ((result=recvfrom(sock,s,sizeof(s),0,(sockaddr*)&sfrom,&slen)) >0)
{
s[result] = '\0';
cout << inet_ntoa(sfrom.sin_addr) << "," << htons(sfrom.sin_port)<<": "<< s <<endl;
}
}
int main()
{
WSADATA wd;
WORD wVer = MAKEWORD(2,2);
int result = WSAStartup(wVer, &wd);
sock = socket(AF_INET, SOCK_DGRAM, 0);
if (INVALID_SOCKET==sock)
{
cout << "socket函数错误!" << WSAGetLastError() << endl;
return -1;
}
struct sockaddr_in