⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 client4.cpp

📁 此代码为udp通信程序
💻 CPP
字号:
#include"Winsock.h"
#include"Windows.h"
#include"stdio.h"
//#include"stdafx.h"
//#include"ioctl.h"
#pragma comment(lib,"wsock32.lib")
#define RECV_PORT 2000
#define SEND_PORT 3000

SOCKET sock;

DWORD StartSock()
{
   WSADATA WSAData;
 //  sockaddr_in ClientAddr;
   BOOL optval=TRUE;
   //DWORD mode;
   if(WSAStartup(MAKEWORD(2,2),&WSAData)!=0)  //初始化套接字
   {
	   printf("sock init fail!\n");
	   return(-1);
   }
   sock=socket(AF_INET,SOCK_DGRAM,0);
   if(sock==SOCKET_ERROR)
   {
	   printf("sock create fail!\n");
	   WSACleanup();
       return(-1);
   }
 //   ClientAddr.sin_family=AF_INET; //填充本地地址
//	ClientAddr.sin_addr.s_addr=htonl(INADDR_ANY);
//	ClientAddr.sin_port=htons(SEND_PORT);
 // if(bind(sock,(struct sockaddr FAR *)&ClientAddr,sizeof(struct sockaddr_in))==SOCKET_ERROR)
//	{
//		printf("sock bind error code!");
//		closesocket(sock);
//		WSACleanup();
//		return(-1);
//	}

  return(1);
}

DWORD UDPSend(char data[])
{

	char Buff[80];
	int length;
	int alength;
	int i;
	struct sockaddr_in Server;
      Server.sin_family=AF_INET; //填充目的方地址
	Server.sin_addr.s_addr=inet_addr("59.74.24.138");
	Server.sin_port=htons(RECV_PORT);
length=sendto(sock,data,strlen(data),MSG_DONTROUTE,(struct sockaddr *)&Server,sizeof(Server));
    if(length<=0)
	{
		printf("send data error!\n");
		closesocket(sock);
		WSACleanup();
		return(-1);
	}

	alength=sizeof(Server);
	length=recvfrom(sock,Buff,80,0,(struct sockaddr *)&Server,&alength);
                            //接收对方返换的数据
    for(i=0;i<length;i++)
		printf("%c",Buff[i]);
	    printf("\n");
		return(1);
}


int main()
{
	char buff[80];
	int i;
	StartSock();
	printf("press any key to continue!");
	getchar();

	for(i=0;i<50;i++)
	{
		sprintf(buff,"data%d",i);
		UDPSend(buff);
		Sleep(100);
	}
	getchar();
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -