109,891
社区成员




int _tmain(int argc, _TCHAR* argv[])
{
WSADATA wsaData;
WORD wVersionRequested = MAKEWORD(2, 2);
int nResult = WSAStartup(wVersionRequested, &wsaData);
SOCKET sk;
SOCKET skA;
SOCKET skB;
struct sockaddr_in local;
struct sockaddr_in fromA; //A的连接信息
struct sockaddr_in fromB; //B的连接信息
int fromlen =sizeof(fromA);
local.sin_family=AF_INET;
local.sin_port=htons(1888);
local.sin_addr.s_addr=INADDR_ANY;
sk=socket(AF_INET,SOCK_DGRAM,0);
bind(sk,(struct sockaddr*)&local,sizeof(local));
char b[1024] = { 0 };
//接收AB的连接信息
if (recvfrom(sk,b,sizeof(b),0,(struct sockaddr*)&fromA,&fromlen)!=SOCKET_ERROR)
if (recvfrom(sk,b,sizeof(b),0,(struct sockaddr*)&fromB,&fromlen)!=SOCKET_ERROR)
//将AB的连接信息 发送给BA
sendto(sk,(char*)&fromA, fromlen,0,(struct sockaddr*)&fromB,fromlen);
sendto(sk,(char*)&fromB, fromlen,0,(struct sockaddr*)&fromA,fromlen);
system("pause");
return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{
WSADATA wsaData;
WORD wVersionRequested = MAKEWORD(2, 2);
int nResult = WSAStartup(wVersionRequested, &wsaData);
struct sockaddr_in server;
struct sockaddr_in fromB;
int len =sizeof(server);
server.sin_family=AF_INET;
server.sin_port=htons(1888);
server.sin_addr.s_addr=inet_addr("127.0.0.1");
char b[1024] = { 0 };
SOCKET sk =socket(AF_INET,SOCK_DGRAM,0);
//发送信息给服务器
sendto(sk,b,0,0,(struct sockaddr*)&server,len);
//接收B的连接信息
recvfrom(sk,(char*)&fromB,sizeof(fromB),0,(struct sockaddr*)&server,&len);
char s[1024] ={0};
sprintf(s,"12345");
char r[1024] ={0};
//向B发送信息
sendto(sk,s,1024,0,(struct sockaddr*)&fromB,len);
//接收B的回包
recvfrom(sk,r,sizeof(r),0,(struct sockaddr*)&fromB,&len);
printf("%s", r);
system("pause");
return 0;
}