套接字Socket通信编程

📅 2026/7/4 0:49:35 👁️ 阅读次数 📝 编程学习
套接字Socket通信编程

TCP/IP通信过程:

图2.1.1 TCP/IP通信过程

2.1.2 UDP通信过程:

图2.1.2 UDP通信过程

2.2 fork多进程编程

fork,在英语中意思是分叉的意思。Linux函数fork(void)被定义在#include<sys/types.h>中,调用成功时,返回两个值,子进程返回0,父进程返回子进程的ID,出错返回-1。子进程是父进程的副本,它将获得父进程的数据空间、堆、栈等资源的副本并且拥有自己独立的地址空间。

以下是一个fork的简单例子。

fork实例

3 设计

3.1 框架设计

图3.1 框架设计

本文使用TCP进行通信。

3.2 代码设计

套接口的通信一般使用read( )和write( )。这里使用send( )和recv( ),因为这一对函数可以更好地控制数据传输。

图3.2 代码设计

4 详细代码

4.1 服务器端代码

服务器端代码

4.2 客户端代码

客户端代码

5 运行结果

Linux下进行编译:

gcc Server.c -o server

gcc Client.c -o client

运行结果

客户端1:

图5.1 客户端1运行结果

客户端2:

图5.2 客户端2运行结果