嵌入式Linux学习笔记4_网络编程

数据传输涉及源、目的和长度,TCP通过三次握手确保可靠性,适合文件传输,而UDP常用于视频通话允许丢包。Socket编程中,使用socket创建句柄,bind绑定IP和端口,listen启动监听,accept接收连接,connect建立客户端连接。通过示例程序,可以实现客户端与服务器的通信。
摘要由CSDN通过智能技术生成

所有数据传输都有三要素:源、目的、长度
参与数据传输的两台设备分别是服务器和客户端,服务器总是被动的响应客户端请求的,而客户端是主动发起请求。
在这里插入图片描述
客户端程序与服务器程序之间的数据传输有两种协议,分别是TCP协议和UDP协议,TCP协议通过三次握手保证数据可靠,若不可靠,则重传,而UDP则不用,在视频通话中用的就是UDP协议,因为视频偶尔丢包、花屏是可接受的,若用TCP,每个数据包都要确保可靠再传输,当其出错就重传,这会使后续数据包阻滞,视频效果不好。

用socket()得到一个句柄,然后用bind()将fd、ip和端口绑定起来,再用listen()启动监测数据,用accept()用于等待,接受,连接,用connoct()建立连接。
怎么用这些函数呢?
例如,socke()函数这么用:可以在虚拟机的Linux系统的终端里输入man 2 socket(),查看man手册,如图所示,AF_INET就是用IPv4协议的参数名,替换掉domian形参。bind()函数也一样。
在这里插入图片描述
然后运行韦东山老师编写的客户端和服务器程序,便可以实现客户端与服务器的通信了。
在这里插入图片描述
参考视频:
https://www.bilibili.com/video/BV1kk4y117Tu?p=31&share_source=copy_web

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值