linux 下基于TCP协议的客户端/服务端网络通信

本文是基于C语言技术网大佬的学习总结,主要对linux 下基于TCP协议的客户端/服务端网络通信的步骤进行介绍。

1.安装系统

首先在虚拟机中安装两个linux系统,我使用了VMware Workstation 15 Player虚拟机,并在虚拟机中安装了两个CentOS 7 64 位系统,一个作为服务端起名server,另一个作为客户端起名client。
在这里插入图片描述

2.下载gcc

因为我们进行的网络通信程序基于CPP语言,故需要安装gcc-c++。在服务端和客户端中打开终端,使用以下命令安装gcc-c++。本命令需要root权限,请首先使用su命令获取root权限。

// 安装gcc-c++
yum -y install gcc-c++

3.建立server.cpp和client.cpp的可执行文件

我们在服务端的桌面上建一个server文件,在客户端的桌面上建一个client文件。我们需要给予这两个文件修改权限,使用chmod命令赋予权限

// 赋予server文件最高权限
chmod 777 server

然后使用vi指令在服务端终端上server文件内新建一个server.cpp文本,在客户端终端上client文件内新建一个client.cpp文本。

// vi指令新建server.cpp文本
vi server.cpp

服务端中复制大佬链接中的server.cpp,客户端中复制client.cpp,然后保存。
随后,使用gcc命令把server.cpp和client.cpp生成可执行文件

// 把server.cpp生成为server可执行文件
gcc -g -o server server.cpp

最后结果如图
在这里插入图片描述

4.防火墙设置

网络通信需要进行防火墙设置,以便使用通信端口可以进行通信。
首先,我们希望使用5000端口进行通信,则需要在服务端开通5000端口服务

// 开放5000端口
firewall-cmd --zone=public --add-port=5000/tcp --permanent

然后重新加载防火墙

// 重新加载防火墙
firewall-cmd --reload

此时,服务端端口5000服务已经建立

5.开始网络通信

首先使用ifconfig命令获取服务端ip地址

// 获取网络信息
ifconfig

在这里插入图片描述
然后在server文件下让服务端开启服务

// 开启服务端服务
./server 5000

在这里插入图片描述

随后在客户端系统的client文件下发起通信请求,使用下述指令

// 客户端通信请求
./client 192.168.174.134 5000

最后信息发送成功
在这里插入图片描述
最后再一次地感谢大佬的帮助,详细介绍请参见大佬链接

猜你喜欢

转载自blog.csdn.net/qq_42605700/article/details/115447349