网络规划设计师考试资料百度云,广东seo价格是多少钱,制作网页哪家好,学历提升机构哪家好环境是linux#xff0c;不过应该没什么影响#xff0c;因为只用到了socket的基本用法#xff0c;没有涉及pthread等。分为服务器端和客户端#xff0c;服务器端监听端口发来的请求#xff0c;收到后向客户端发送一个Hello World,客户机负责发送消息并打印收到的Hello Worl…环境是linux不过应该没什么影响因为只用到了socket的基本用法没有涉及pthread等。分为服务器端和客户端服务器端监听端口发来的请求收到后向客户端发送一个Hello World,客户机负责发送消息并打印收到的Hello World.服务器步骤建立socket,绑定socket和地址信息开启监听收到请求后发送数据。客户端步骤建立socket,连接服务器端接收并打印服务器给的数据。服务器端代码#include #include #include #include #include #include #include #include #include #include #define MYPORT 8887#define QUEUE 20#define BUFFER_SIZE 1024int main(){///定义sockfdint server_sockfd socket(AF_INET,SOCK_STREAM, 0);///定义sockaddr_instruct sockaddr_in server_sockaddr;server_sockaddr.sin_family AF_INET;server_sockaddr.sin_port htons(MYPORT);server_sockaddr.sin_addr.s_addr htonl(INADDR_ANY);///bind成功返回0出错返回-1if(bind(server_sockfd,(struct sockaddr *)server_sockaddr,sizeof(server_sockaddr))-1){perror(bind);exit(1);}///listen成功返回0出错返回-1if(listen(server_sockfd,QUEUE) -1){perror(listen);exit(1);}///客户端套接字char buffer[BUFFER_SIZE];struct sockaddr_in client_addr;socklen_t length sizeof(client_addr);///成功返回非负描述字出错返回-1int conn accept(server_sockfd, (struct sockaddr*)client_addr, length);if(conn0){perror(connect);exit(1);}while(1){memset(buffer,0,sizeof(buffer));int len recv(conn, buffer, sizeof(buffer),0);if(strcmp(buffer,exit)0)break;fputs(buffer, stdout);send(conn, buffer, len, 0);}close(conn);close(server_sockfd);return 0;}客户端代码#include #include #include #include #include #include #include #include #include #include #define MYPORT 8887#define BUFFER_SIZE 1024int main(){///定义sockfdint sock_cli socket(AF_INET,SOCK_STREAM, 0);///定义sockaddr_instruct sockaddr_in servaddr;memset(servaddr, 0, sizeof(servaddr));servaddr.sin_family AF_INET;servaddr.sin_port htons(MYPORT); ///服务器端口servaddr.sin_addr.s_addr inet_addr(127.0.0.1); ///服务器ip///连接服务器成功返回0错误返回-1if (connect(sock_cli, (struct sockaddr *)servaddr, sizeof(servaddr)) 0){perror(connect);exit(1);}char sendbuf[BUFFER_SIZE];char recvbuf[BUFFER_SIZE];while (fgets(sendbuf, sizeof(sendbuf), stdin) ! NULL){send(sock_cli, sendbuf, strlen(sendbuf),0); ///发送if(strcmp(sendbuf,exit)0)break;recv(sock_cli, recvbuf, sizeof(recvbuf),0); ///接收fputs(recvbuf, stdout);memset(sendbuf, 0, sizeof(sendbuf));memset(recvbuf, 0, sizeof(recvbuf));}close(sock_cli);return 0;}实验结果