ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

Linux网络通信

Linux网络通信

一、为什么嵌入式打印调试信息有时用网络通信,而不是串口?
因为在多个设备同时调试的时候,需要多个串口线和连接口,十分麻烦
二、数据传输的三大要素:1、目的 2、源 3、长度
三、网络通信的两种类别及区别:1、TCP 2、UDP,两者的区别在于TCP是可靠传输,它需要双方对通信进行确认、校验,且具有重传机制,而UPD只关注把消息传出去对方收没收到我不在乎。
四、TCP、UPD的不同用途:TCP用于文件、指令的传输,但TCP由于需要确认、校验等传输速度较慢、因此在实时内容上比如UPD如视频电话等。
五、在网络通信中,一般情况下使用<IP:端口>来确认发送方或接收方。
六、TCP通信代码流程
1、服务器:建立套接字->绑定网络句柄和所要监听的ip端口->启动监听->接受客户端连接->send/recv

2、客户端:建立套接字->连接服务端->recv/send
七、UDP通信代码流程

1、服务器:与TCP的类似但是由于UDP不需要建立连接,就不需要listen和accept且recv换成recvfrom
2、客户端:与TCP是一样的

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进