Linux C/C++网络编程实战-陈硕-笔记2-一个TCP的简单实验

实验环境

在这里插入图片描述

命令

dd命令

  • 用于读取、转换并输出数据。
  • 可从标准输入或文件中读取数据,根据指定的格式来转换数据,再输出到文件、设备或标准输出。
    参数:
    if=文件名:输入文件名,默认为标准输入。即指定源文件。
    bs=bytes:同时设置读入/输出的块大小为bytes个字节。
    count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。

nc命令

  • netcat的简写,有着网络界的瑞士军刀美誉。一款功能强大的网络工具
    参数:
    l 用于指定nc将处于侦听模式。该参数意味着nc被当作server,侦听并接受连接。

ls -l 出来的单位是B
ls - lh 出来的单位是KB
time命令 - “time a simple command or give resource usage”,即测量命令的执行时间,或者给出系统资源的使用情况

测试

下面我们使用 netcat 来测试一下在千兆网中 tcp 可以达到的吞吐量

在 atom 机器 发送到 e6400 机器:
  • e6400: 在5001端口监听,收数据。
  • atom:从 /dev/sero 读一千兆数据,发送到5001端
### 施磊 C++ muduo 项目介绍 muduo是一个高性能的C++网络库,由陈硕开发并维护。此库广泛应用于高并发服务器程序的设计与实现中[^2]。 #### 主要特性 - **线程安全**:通过`shared_ptr`和`weak_ptr`解决多线程环境下共享资源的安全访问问题。 - **高效性能**:针对Linux平台进行了大量优化,能够处理大量的并发连接请求。 - **易于扩展**:提供了丰富的接口供开发者自定义协议解析逻辑和服务端业务流程控制。 #### 使用场景 适用于构建各种类型的分布式系统,特别是需要频繁通信的服务间交互模块。例如即时通讯软件、在线游戏后台等都需要依赖类似的框架来保证系统的稳定性和响应速度。 ```cpp // 创建TCP服务器实例 TcpServer server(loop, InetAddress(listenPort), "EchoServer"); server.setConnectionCallback( std::bind(&onConnection, _1)); server.setMessageCallback( std::bind(&onMessage, _1, _2, _3)); server.start(); loop.loop(); ``` 上述代码展示了如何利用muduo创建一个简单的回声(Echo) TCP Server,在这里注册了两个回调函数分别用于新连接建立以及接收到消息后的事件触发。 #### 学习路径建议 对于想要深入了解该项目的同学来说,可以从以下几个方面入手: - 阅读官方文档及注释说明; - 参考施磊老师的《C++课程笔记》系列资料中的相关内容部分[^1]; - 实践操作启动样例工程,熟悉基本命令行指令[^3];
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值