www.pudn.com > socket_set_cli.rar > main_cli.c
/*.......................................................*/ #include#include #include #include #include #include #include #include #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 \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; }