网络编程二基础知识

1.套接字:数据链路层、网络层、传输层协议是在内核中实现,因此操作系统需要实现一组系统调用,使得应用程序能够访问这些协议提供的服务。目前主要实现这组系统调用的API时socket。套接字具备从网络中发送收取数据的功能。

2.

3.传输层的协议主要有两个:TCP协议和UDP协议。TCP协议是面向连接的、可靠的、流式服务。而UDP协议是无连接不可靠的数据报服务。

4.TCP和UCD所使用的套接字也是不同的。TCP所使用的流式套接字在定义套接字时选择的套接字类型是SOCKET_STREAM,而UDP协议中所使用的数据包套接字选择的是SOCKET_DGRAM.

5.TCP流式套接字编程的过程:

(1)服务器端:①socket():创建套接字,指定使用TCP进行通信。(之后还有定义一个socket地址结构体进行初始化以及绑定IP和端口号)

                       ②bind():将创建的套接字与本地地址绑定

                      ③listen():监听客户端的连接请求

                     ④当有客户端连接请求到达,accept()接收连接请求新建连接套接字

                      ⑤recv():/send():数据收发

                     ⑥close():关闭套接字

(2)服务器端:①socket():创建套接字,指定使用TCP进行通信。(之后还有定义一个socket地址结构体进行初始化以及绑定IP和端口号)

                        ②connect():连接服务器端

                        ③send()/recv():发送接收数据

                        ④close():关闭套接字

6.UDP数据报套接字编程过程:

(1)服务器端:①socket():创建套接字,指定使用UDP进行通信。(之后定义一个socket地址结构体进行初始化)

                       ②bind():将创建的套接字与本地地址绑定

                       ③当有客户端连接时sendto()/recvfrom()发送或者接收数据

                       ④关闭套接字

(2)客户端:①socket():创建套接字,指定使用UDP进行通信。(之后定义一个socket地址结构体进行初始化,初始化指定需要连接的服务器端地址)

                       ③sendto()/recvfrom()发送或者接收数据

                       ④关闭套接字

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值