前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >网络编程学习笔记2-ttcp

网络编程学习笔记2-ttcp

作者头像
opencode
发布2022-12-26 14:49:53
2810
发布2022-12-26 14:49:53
举报
文章被收录于专栏:知识同步

使用虚拟机编译muduo,并尝试使用两个虚拟机建立tcp,视频p6笔记

本笔记参考的视频链接:https://www.bilibili.com/video/BV1Ht411p7wx?p=6 库链接:https://github.com/chenshuo/muduo

1生成和编译

1.1下载源代码到你喜欢的文件夹

代码语言:javascript
复制
git clone https://github.com/chenshuo/muduo.git

1.2编译

根据官方文档,运行

代码语言:javascript
复制
 ./build.sh

要是你的库完整,应该会顺利编译通过

假如缺失一些库,你就先试试yum install 库名

我这里提示安装的protobuf版本太新了,有些函数名找不到,毕竟这个muduo是2014年写的了,所以你极有可能也会遇到这个问题

1.3重新下载旧版本protobuf,生成并编译

参考链接

既然2014年,咱们就下一个2014年的protobuf,我下了2.6.0版本的,链接或者你自己选一个

上传到服务器

代码语言:javascript
复制
tar zvxf protobuf-2.6.0.tar.gz
cd protobuf-2.6.0.tar.gz

./configure –prefix=/usr/local/ #注意一定要指定一个新文件夹,不然到时候卸载就很难受,养成好习惯

sudo make  #要编译很久
sudo make check
sudo make install

1.4运行

编译完成后或生成一个build文件夹,运行/build/bin里对应的文件就可以了,例如:

代码语言:javascript
复制
./ttcp_muduo -r #服务端

1.5总结

我算是个linux小白吧,生成、安装和编译这些操作不是很熟悉,感觉服务器最复杂的就是一开始的环境设置了,如果能用docker技术来解决一下就好了

2两个独立虚拟机使用ttcp建立连接

2.1克隆虚拟机

将服务端的虚拟机直接克隆,减少配置环境的时间

2.2启动服务端

在bin目录下

代码语言:javascript
复制
while true;do ./ttcp_muduo -r;done

响应如图

2.3启动客户端

代码语言:javascript
复制
./ttcp_muduo -t 192.168.200.133

这里响应失败,还没找到原因

{% asset_img 图2.png 图2.png %}

找到原因了,原来是因为服务端5001端口没开放,我直接关闭防火墙就可以了

代码语言:javascript
复制
systemctl stop firewalld.service(停止防火墙)
systemctl start firewalld.service(打开防火墙)
systemctl disable firewalld.service(关闭开机自启)

然后再运行以上客户端命令,服务端就收到了

这里再记录一些其他常用的防火墙和端口命令

代码语言:javascript
复制
systemctl status firewalld.service(查看防火墙开启还是关闭)
sudo firewall-cmd --list-all(可以查看端口开放情况)

sudo firewall-cmd --add-service=http --permanent (允许http服务)
sudo firewall-cmd --add-port=8080/tcp --permanent(打开8080端口)

sudo firewall-cmd --reload (查看端口开放情况)
sudo firewall-cmd --list-all
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-08-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1生成和编译
    • 1.1下载源代码到你喜欢的文件夹
      • 1.2编译
        • 1.3重新下载旧版本protobuf,生成并编译
          • 1.4运行
            • 1.5总结
            • 2两个独立虚拟机使用ttcp建立连接
              • 2.1克隆虚拟机
                • 2.2启动服务端
                  • 2.3启动客户端
                  相关产品与服务
                  容器服务
                  腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档