tcpudp面试题

什么是IP地址
ip地址是主机在网络中的唯一标识,当主机更换网络时ip号会改变。
ip=网络号+主机号(A类网、B类网、C类网、D类网、E类网)
tcp和udp的区别
tcp:
1、提供面向链接的,可靠的数据传输服务,
2、稳定,传输过程中,数据无误,不会丢失,不会重复
(cp会给每个数据包上编号,称为序列号
每个序列号都要应答包答应
3、传输效率低,消费资源多
4、数据收发不同步
为了提高效率,tcp会将多个较小,并且发送间隔短的数据包,沾成一个包发送,称为沾包现象
5、tcp使用场景:对传输质量比较高的以及传输大量数据的通信,在需要可靠通信的场合使用tcp

udp:
1、面向无连接的,不保证数据可靠的,尽最大努力传输的协议
2、传输过程中可能会出现数据丢失、重复失序现象
3、数据传输效率高,实时性高
4、收发是同步的,不会沾包
5、适用场景:发送小尺寸的,在接收到数据给出应答比较困难的情况下

TCP服务器通信步骤

1.使用socket函数创建一个套接字
2.定义一个通信结构体,转换主机端口号和ip地址,然后使用bind函数绑定端口号、IP(需要宏定义一个端口号和ip地址)
3.使用listen函数将套接字设置成被动监听
4.定义一个结构体变量接受客户端地址信息结构体,要使用accept阻塞等待客户端的链接请求
5.定义一个char类型数组,把数组清空,然后使用recv函数读取客户发来信息
6.关闭套接字


UDP服务器通步骤
1.使用socket函数创建一个套接字
2.定义一个通信结构体,转换主机端口号和ip地址,然后使用bind函数绑定端口号、IP(这边是写要连服务器的端口号和ip地址,客户端的端口号和ip地址可以不写,系统会自动生存)
3.定义一个char类型数组,把数组清空,然后使用recvform函数读取客户发来信息
4.关闭套接字


UPD是否可以使用connect
可以使用connect
1、建立成功后将是服务器与某个客户端的唯一通道.
2、好处:传输效率高,稳定性高,数据干扰较小.
3、、在服务器端使用connect与某个特定的客户端建立连接后,服务器就不再接收其他客户端的消息了.
如果想要断开,需要再使用一次connect函数,但是需要将地址信息结构体中的sin_addr改成AF_UNSPEC
3、在udp中可以多次使用connect函数与其他客户端建立连接,但是在TCP中只能进行一次连接当UDP中使用了connect与某个特定的客户端建立连接后,就可以正常使用read/write、send/recv函数完成通信

TCPUDP是两种常见的网络传输协议,它们在网络通信中扮演着不同的角色。下面是一些TCPUDP面试题及其答案: 1. TCPUDP的区别是什么? TCP是面向连接的可靠传输协议,它提供了数据传输的可靠性和完整性,但是传输效率相对较低。UDP是无连接的不可靠传输协议,它提供了数据传输的高效性,但是无法保证数据的可靠性和完整性。 2. TCP的三次握手和四次挥手分别是什么? TCP的三次握手是指在建立TCP连接时,客户端和服务器之间需要进行三次握手来确认连接的建立。具体过程如下: 第一次握手:客户端向服务器发送SYN包,请求建立连接。 第二次握手:服务器向客户端发送SYN/ACK包,表示同意建立连接。 第三次握手:客户端向服务器发送ACK包,表示连接建立成功。 TCP的四次挥手是指在关闭TCP连接时,客户端和服务器之间需要进行四次挥手来确认连接的关闭。具体过程如下: 第一次挥手:客户端向服务器发送FIN包,请求关闭连接。 第二次挥手:服务器向客户端发送ACK包,表示已经收到关闭请求。 第三次挥手:服务器向客户端发送FIN包,请求关闭连接。 第四次挥手:客户端向服务器发送ACK包,表示已经收到关闭请求。 3. TCP的流量控制和拥塞控制是什么? TCP的流量控制是指通过滑动窗口机制来控制发送方的发送速率,以避免接收方无法处理过多的数据。TCP的拥塞控制是指通过拥塞窗口机制来控制网络中的拥塞程度,以避免网络拥塞导致数据丢失和传输延迟增加。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值