本文是基于C语言技术网大佬的学习总结,主要对linux 下基于TCP协议的客户端/服务端网络通信的步骤进行介绍。
首先在虚拟机中安装两个linux系统,我使用了VMware Workstation 15 Player虚拟机,并在虚拟机中安装了两个CentOS 7 64 位系统,一个作为服务端起名server,另一个作为客户端起名client。
因为我们进行的网络通信程序基于CPP语言,故需要安装gcc-c++。在服务端和客户端中打开终端,使用以下命令安装gcc-c++。本命令需要root权限,请首先使用su命令获取root权限。
// 安装gcc-c++
yum -y install gcc-c++
我们在服务端的桌面上建一个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
最后结果如图
网络通信需要进行防火墙设置,以便使用通信端口可以进行通信。
首先,我们希望使用5000端口进行通信,则需要在服务端开通5000端口服务
// 开放5000端口
firewall-cmd --zone=public --add-port=5000/tcp --permanent
然后重新加载防火墙
// 重新加载防火墙
firewall-cmd --reload
此时,服务端端口5000服务已经建立
首先使用ifconfig命令获取服务端ip地址
// 获取网络信息
ifconfig
然后在server文件下让服务端开启服务
// 开启服务端服务
./server 5000
随后在客户端系统的client文件下发起通信请求,使用下述指令
// 客户端通信请求
./client 192.168.174.134 5000
最后信息发送成功
最后再一次地感谢大佬的帮助,详细介绍请参见大佬链接。
★文章内容学习来源拉勾教育大前端就业集训营 浮动是我们学习的第一种脱离标准流...
本文转载自微信公众号「猿天地」,作者尹吉欢 。转载本文请联系猿天地公众号。 ...
laravel入门 简介 作为PHP最常用的框架之一,Laravel的框架目录布置得尤其清晰,...
在Windows10中,如果你想要驱动一些特定硬件,例如显卡、网卡等等,驱动程序是必...
引言 都说 StringBuilder 在处理字符串拼接上效率要强于 String,但有时候我们的...
我是 Redis,今年 11 岁了~ 曾几何时我是辣么的单纯,辣么的可爱,而如今我竟背...
最近用thinkphp做项目,在测试环境时,存在接口的测试问题。在tp官网也没能找到...
在 macOS Big Sur 的众多新功能中,Safari 的升级无疑是许多人期待已久的特性之...
目前 layui官方 暂没提供layim查找好友页面的结构与样式,我个人好奇心极强,自...
2021 年,人们比以前的任何时候都更有理由来爱上 Linux。在这个系列,我会分享 2...