#pragma comment(lib, "ws2_32.lib")
#include "windows.h"
#include <stdio.h>
#include <Winsock.h>
#define Server_PORT 6000
#define MAXLINE 5096
//#define pleaseSendMessage 10
#define wan_ip "127.0.0.1"
#define wan_PORT 8180
struct stMessage
{
unsigned int messageID;
char messagebuf[MAXLINE];
};
void InitWinSock()
{
WSADATA wsaData;
WORD wVersionRequested;
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;
}
}
void main(int argc, char* argv[])
{
InitWinSock();
SOCKET sock=socket(AF_INET,SOCK_DGRAM,0);
SOCKADDR_IN locale;
if (sock==INVALID_SOCKET)
{
printf("socket creat error--exit!\n");
exit(-1);
}
memset(&locale,0,sizeof(locale));
locale.sin_family = AF_INET;
locale.sin_port = htons(Server_PORT);
locale.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
if (bind(sock,(struct sockaddr *)&locale,sizeof(locale))==SOCKET_ERROR)
{
printf("bind error !\n");
exit(-1);
}
SOCKADDR_IN sender;
memset(&sender,0,sizeof(sender));
sender.sin_addr.S_un.S_addr=inet_addr(wan_ip);
sender.sin_family=AF_INET;
sender.sin_port=htons(wan_PORT);
int addlen=sizeof(sender);
// for(;;)
// {
// stMessage msgbuf;
// memset(&msgbuf,0,sizeof(stMessage));
//
// int n=recvfrom(sock,(char*)&msgbuf,sizeof(stMessage),0,(struct sockaddr *)&sender,&addlen);
// printf("message ID:%s,message port:%d,message content:%s\n",inet_ntoa(sender.sin_addr),ntohs(sender.sin_port),msgbuf.messagebuf);
// msgbuf.messageID = sender.sin_addr.S_un.S_addr;
// if (strcmp(msgbuf.messagebuf,"exit")==0)
// {
// closesocket(sock);
// exit(0);
// }
// else
// {
printf("send to c:\n");
while(1)
{
// char buf[]="aaaaa";
char a[5]={'a','b','c','d','e'};
for (int i=0;i<5;i++)
{
int sendnum=sendto(sock,(char *)&a[i],sizeof(a[i]),0,(struct sockaddr *)&sender,addlen);
//int sendnum=sendto(sock,(char *)&buf,sizeof(buf),0,(struct sockaddr *)&sender,addlen);
//printf("%s\n",buf);
printf("%c\n",a[i]);
unsigned int port=ntohs(sender.sin_port);
if(sendnum<0)
{
printf("send error\n");
}
// memset(&msgbuf,0,sizeof(msgbuf));
// }
Sleep(500);
}
}
//}
closesocket(sock);
WSACleanup();
}