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

📄 main.cpp

📁 一个在LINUX环境中发包的小程序,其中的Make写的还可以,可复用
💻 CPP
字号:
#include <unistd.h>#include <sys/socket.h>#include <stdio.h>#include <arpa/inet.h>#include <string.h> int main(){	struct sockaddr_in servaddr;	struct sockaddr_in clientaddr;	int listenfd, connfd;	char recvbuff[1024] = "";	char sendbuff[1024] = "";	int recvlen = 0;	socklen_t len1 = 0;	int i = 0;	unsigned short type = 0x01;	long long userid = 10021;	long result = 0;	unsigned short sendlen = 0;	memset(&servaddr, 0, sizeof(servaddr ));	memset(&clientaddr, 0, sizeof(clientaddr ));	memcpy( sendbuff, &type, sizeof(type));	sendlen += sizeof(type);	memcpy( sendbuff + sendlen, &userid, sizeof(userid));	sendlen += sizeof(userid);	memcpy( sendbuff + sendlen, &result, sizeof(result));	sendlen += sizeof(result);	char buff[256] = "";	unsigned char packtype = 0;	bool needreply = 1;	unsigned char nettype = 0;	unsigned short packseri = 1;	socklen_t len = 0;	memcpy( buff, &sendlen, sizeof(sendlen));	len += sizeof(sendlen);	memcpy( buff + len, sendbuff, sendlen );	len += sendlen;	memcpy( buff + len, &packseri, sizeof( packseri));	len += sizeof( packseri );	memcpy( buff + len, &packtype, sizeof( packtype ));	len += sizeof( packtype );	memcpy( buff + len, &needreply, sizeof( needreply ));	len += sizeof( needreply );	memcpy( buff + len, &nettype, sizeof( nettype ));	len += sizeof( nettype);	listenfd = socket( AF_INET, SOCK_DGRAM, NULL );	servaddr.sin_family = AF_INET;	servaddr.sin_addr.s_addr = htonl(INADDR_ANY);	servaddr.sin_port = htons(8812);	if( bind(listenfd, (struct sockaddr*)&servaddr, sizeof(servaddr)) < 0 )		return -1;	listen(listenfd, 5);	for(;;)	{	memcpy( buff + 16, & packseri, sizeof(packseri));	packseri++;		//printf("begin to recv...\n");	//	recvlen = recvfrom( listenfd, recvbuff, 1024, NULL, (struct sockaddr*)&clientaddr, &len1 );	//	printf("my recv data, data len: %d\n", len1 );	//	for(i = 0; i< recvlen; i++)	//		printf("%02x ", recvbuff[i]);	//	//	printf("\nmy send data, data len: %d\n", len);		for( i = 0; i < 100; i++ )			printf("%02x ", buff[i]);		clientaddr.sin_addr.s_addr = inet_addr("10.218.17.1");		for(int lll = 0;lll < 100; lll++)		{			printf("\n send addr: %s\n", inet_ntoa( clientaddr.sin_addr ));						if( sendto( listenfd, buff, 50, NULL, (struct sockaddr*)&clientaddr, len1 ) == -1 )				clientaddr.sin_addr.s_addr++;				printf("send error");			printf("send over!!!\n");			//sleep(1);		}	}	return 0;	}

⌨️ 快捷键说明

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