//UdpSrc.cpp
#include
using namespace std;
#include
void main()
{
//加载套接字库
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 1, 1 );
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 )
{
return;
}
if ( LOBYTE( wsaData.wVersion ) != 1 ||
HIBYTE( wsaData.wVersion ) != 1 )
{
WSACleanup( );
return;
}
SOCKET socksrc=socket(AF_INET,SOCK_DGRAM,0);
SOCKADDR_IN addsrc;
addsrc.sin_addr.S_un.S_addr=INADDR_ANY;
addsrc.sin_family=AF_INET;
addsrc.sin_port=htons(6000);
bind(socksrc,(SOCKADDR*)&addsrc,sizeof(SOCKADDR));
SOCKADDR_IN socclient;
char buff[100];
char buffsend[100];
int len=sizeof(SOCKADDR);
while(1)
{
recvfrom(socksrc,buff,100,0,(SOCKADDR*)&socclient,&len);
cout<<buff<<endl;
gets(buffsend);
sendto(socksrc,buffsend,100,0,(SOCKADDR*)&socclient,len);
}
closesocket(socksrc);
}
//UdpClient.cpp
#include
using namespace std;
#include
void main()
{
//加载套接字库
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 1, 1 );
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 )
{
return;
}
if ( LOBYTE( wsaData.wVersion ) != 1 ||
HIBYTE( wsaData.wVersion ) != 1 )
{
WSACleanup( );
return;
}
SOCKET sockclient=socket(AF_INET,SOCK_DGRAM,0);
SOCKADDR_IN addsrc;
addsrc.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");
addsrc.sin_family=AF_INET;
addsrc.sin_port=htons(6000);
int len=sizeof(SOCKADDR);
char sendbuf[100];
char recbuff[100];
while(1)
{
gets(sendbuf);
sendto(sockclient,sendbuf,100,0,(SOCKADDR*)&addsrc,len);
recvfrom(sockclient,recbuff,100,0,(SOCKADDR*)&addsrc,&len);
cout<<recbuff<<endl;
}
closesocket(sockclient);
}