From 8f9fe4f5d24c09ae88d63ecbd433c5fd26596222 Mon Sep 17 00:00:00 2001 From: longge <739767394@qq.com> Date: Tue, 14 Sep 2021 20:00:31 +0800 Subject: [PATCH 1/2] 9.14homework --- homework/renqiangyuan06181128/game.png.png | Bin 0 -> 43322 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 homework/renqiangyuan06181128/game.png.png diff --git a/homework/renqiangyuan06181128/game.png.png b/homework/renqiangyuan06181128/game.png.png new file mode 100644 index 0000000000000000000000000000000000000000..0e29448a1e3652883b724225e9469fc7ed6f322c GIT binary patch literal 43322 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 literal 0 HcmV?d00001 -- Gitee From fa3c98250ec69414decb01c89dc9390ee4dd160f Mon Sep 17 00:00:00 2001 From: longge <739767394@qq.com> Date: Wed, 15 Sep 2021 20:29:56 +0800 Subject: [PATCH 2/2] 9.15homework --- .../server/CMakeLists.txt | 5 ++ homework/renqiangyuan06181128/server/main.c | 75 +++++++++++++++++++ 2 files changed, 80 insertions(+) create mode 100644 homework/renqiangyuan06181128/server/CMakeLists.txt create mode 100644 homework/renqiangyuan06181128/server/main.c diff --git a/homework/renqiangyuan06181128/server/CMakeLists.txt b/homework/renqiangyuan06181128/server/CMakeLists.txt new file mode 100644 index 0000000..af156f4 --- /dev/null +++ b/homework/renqiangyuan06181128/server/CMakeLists.txt @@ -0,0 +1,5 @@ +cmake_minimum_required(VERSION 3.5) + +project(server LANGUAGES C) + +add_executable(server main.c) diff --git a/homework/renqiangyuan06181128/server/main.c b/homework/renqiangyuan06181128/server/main.c new file mode 100644 index 0000000..fe94b97 --- /dev/null +++ b/homework/renqiangyuan06181128/server/main.c @@ -0,0 +1,75 @@ +#include +#include +#include +#include +#include +#include +#include + +int main() +{ + //创建监听套接字 + int listenfd = socket(PF_INET, SOCK_STREAM, 0); + + //本程序的IP地址和端口号 + struct sockaddr_in addr; + addr.sin_family = AF_INET; //IPv4地址(地址类型) + addr.sin_port = htons(7); //端口号(网络字节序),程序使用小于1024的端口号需要使用root权限 + addr.sin_addr.s_addr = htonl(INADDR_ANY); //绑定本机所有IP地址 + //addr.sin_addr.s_addr = inet_addr("192.168.1.175"); //指定IP地址进行监听 + + //将IP地址与监听套接字绑定 + int error = bind(listenfd, (struct sockaddr*)&addr, sizeof(addr)); + if (error) + { + //打印错误原因 + perror("bind"); + return 1; + } + + error = listen(listenfd, 3); + if (error) + { + perror("listen"); + return 2; + } + + //忽略SIGPIPE信号,防止发送数据时被OS终止 + signal(SIGPIPE, SIG_IGN); + + //循环服务器 + while(1) //等待下一个客户端连接 + { + struct sockaddr_in client_addr; + socklen_t addrlen = sizeof(client_addr); + //等待客户端连接 + int connectfd = accept(listenfd, (struct sockaddr*)&client_addr, &addrlen); + + printf("client is connected, ip: %s, port: %d\n", inet_ntoa(client_addr.sin_addr), ntohs(client_addr.sin_port)); + + //使用标准IO函数与客户端通信,需要将连接套接字与标准IO文件流绑定 + FILE* fp = fdopen(connectfd, "r+"); + + char line[80]; + //循环接收客户端的输入 + while (1) + { + //从客户端读取一行输入 + if (fgets(line, sizeof(line), fp) == NULL) + { + //如果客户端断开连接,退出循环 + printf("client disconnected\n"); + break; + } + + printf(line); + + //将读出的字符串发送回客户端 + fprintf(fp, line); + } + + //断开和客户端的TCP连接 + fclose(fp); + } + return 0; +} -- Gitee