📄 client.c
字号:
#include<stdlib.h>#include<unistd.h>#include <sys/types.h>#include <sys/socket.h>#include<stdio.h>#include <arpa/inet.h>#include<errno.h>#include<sys/select.h>intmain(int argc , char *argv[]){ struct sockaddr_in addr_in; int sfd,ret; char buf[100]; int n; char buff[100]; fd_set sockset; if ( argc != 2) { perror( "command error"); exit(0); } if (( sfd = socket(AF_INET, SOCK_STREAM, 0)) < 0){ perror("socket"); exit(1); } addr_in.sin_family = AF_INET; addr_in.sin_port = htons(2008); inet_pton(AF_INET, "192.168.1.57", &addr_in.sin_addr); if (connect(sfd, (struct sockaddr *)&addr_in, sizeof(addr_in)) < 0){ perror("connect"); exit(1); } write (sfd, argv[1], 100); while(1){ FD_ZERO(&sockset); FD_SET(sfd, &sockset); FD_SET(0, &sockset); select(sfd+1, &sockset, NULL, NULL, NULL); if(FD_ISSET(sfd, &sockset)){ printf("receive message :\n"); if((n = read(sfd, buff, sizeof(buff))) > 0) if(write(1, buff, n) != n) perror("write error"); } if(FD_ISSET(0, &sockset)){ printf("send message :\n"); if((n = read(0, buff, sizeof(buff))) > 0) if(write(sfd, buff, n) != n) perror("write error"); } } return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -