From 2ba74ef25bcb4515b89112706d5dfed88c4eb3f9 Mon Sep 17 00:00:00 2001 From: renqingquan <2944007663@qq.com> Date: Fri, 25 Nov 2022 11:59:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E8=87=B3?= =?UTF-8?q?=20''?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- client.c | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 client.c diff --git a/client.c b/client.c new file mode 100644 index 0000000..2bcd6bb --- /dev/null +++ b/client.c @@ -0,0 +1,44 @@ +#include +#include +#include +#include +#include + +#define SERV_IP "127.0.0.1" +#define SERV_PORT 6666 + +int main(void) +{ + int sfd, len; + struct sockaddr_in serv_addr; + char buf[BUFSIZ]; + + /*创建一个socket 指定IPv4 TCP*/ + sfd = socket(AF_INET, SOCK_STREAM, 0); + + /*初始化一个地址结构:*/ + bzero(&serv_addr, sizeof(serv_addr)); //清零 + serv_addr.sin_family = AF_INET; //IPv4协议族 + inet_pton(AF_INET, SERV_IP, &serv_addr.sin_addr.s_addr); //指定IP 字符串类型转换为网络字节序 参3:传出参数 + serv_addr.sin_port = htons(SERV_PORT); //指定端口 本地转网络字节序 + + /*根据地址结构链接指定服务器进程*/ + connect(sfd, (struct sockaddr *)&serv_addr, sizeof(serv_addr)); + + while (1) { + /*从标准输入获取数据*/ + fgets(buf, sizeof(buf), stdin); + /*将数据写给服务器*/ + write(sfd, buf, strlen(buf)); //写个服务器 + /*从服务器读回转换后数据*/ + len = read(sfd, buf, sizeof(buf)); + /*写至标准输出*/ + write(STDOUT_FILENO, buf, len); + } + + /*关闭链接*/ + close(sfd); + + return 0; +} + -- 2.34.1