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

📄 main_cli.c

📁 linux下socket编程示例,通过网络传送控制信息给下位机
💻 C
字号:
  /*.......................................................*/  #include <stdio.h>  #include <stdlib.h>  #include <errno.h>  #include <string.h>  #include <netdb.h>  #include <sys/types.h>  #include <netinet/in.h>  #include <sys/socket.h>    #define PORT 3497  /* the port client will be connecting to */typedef union cmd_tmp{/**/	unsigned char cmd_buf_char[64];/**/	struct abc{		int head;/*0x55aaaa55*/		int length;/*64*/		int modulation;		int vpi;		int vci;		char info[64-20];	}cmd_strcut;} mips_arm;extern int adsl2_printf(int len,char *buf);int main(int argc, char *argv[]){    int sockfd, numbytes, sendsize;    struct hostent *he;    struct sockaddr_in their_addr; /* connector's address information */    mips_arm cmd_buf;        if(argc<4){	printf("  socket_set_cli <modulation> <vpi> <vci> \n");	return 0;    }else{	cmd_buf.cmd_strcut.head = 0x55aaaa55;	cmd_buf.cmd_strcut.length = 64;	cmd_buf.cmd_strcut.modulation = strtol(&argv[1][0], NULL, 10);	cmd_buf.cmd_strcut.vpi = strtol(&argv[2][0], NULL, 10);	cmd_buf.cmd_strcut.vci = strtol(&argv[3][0], NULL, 10); 	printf("set adsl modulation: %d\n", cmd_buf.cmd_strcut.modulation);    	printf("set adsl vpi %d, vci %d\n", cmd_buf.cmd_strcut.vpi, cmd_buf.cmd_strcut.vci);    }    he=gethostbyname("192.168.1.252");    if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) {        perror("socket");        exit(1);    }    their_addr.sin_family = AF_INET;   /* host byte order */    their_addr.sin_port = htons(PORT);  /* short, network byte order */    their_addr.sin_addr = *((struct in_addr *)he->h_addr);    bzero(&(their_addr.sin_zero), 8);   /* zero the rest of the struct */    if (connect(sockfd, (struct sockaddr *)&their_addr, sizeof(struct sockaddr)) == -1) {        perror("connect");        exit(1);    }    printf("connect ok\n");    sendsize=64;    if ((numbytes = send(sockfd, cmd_buf.cmd_buf_char , sendsize, 0)) == -1){	perror("send");	printf("send 2 e\n");	return 0;    }    printf("send ok\n");    return 0;  } 

⌨️ 快捷键说明

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