网络编程5.21

1、项目中如何实现TCP的并发  

答:多进程、多线程。通过时间片的轮转。在同一时间内进行多线程并行或者多进程并行。原理是让主线程进行通信,子线程进行接受或发送信息。

2、tcp通信过程中的三次握手

答:TCP协议三次握手的方式建立连接
1. 第一次握手 (SYN):客户端向服务器发送SYN报文,请求建立连接。该报文包含客户端
选择的初始序列号 (ISN);
2. 第二次握手 (SYN+ACK):服务器收到SYN报文后,向客户端发送 SYN+ACK报文,表示同意建立连接
3. 第三次握手 (ACK):客户端收到SYN+ACK报文后,向服务器发送ACK报文,表示确认建立连接。

3、四次挥手的过程

答:第一次挥手 (FIN):客户端向服务器发送FIN报文,表示客户端不再发送数据,但仍可以接收数据;
2.第二次挥手 (ACK):服务器收到FIN报文后,向客户端发送 ACK 报文,确认收到FIN 报文;
3. 第三次挥手 (FIN):服务器向客户端发送FIN报文,表示服务器不再发送数据;
4. 第四次挥手 (ACK):客户端收到FIN报文后,向服务器发送 ACK 报文,确认收到FIN报文。

4、tcp/IP协议分几层?tcp/IP是那一层?

答:四次:应用层、网络层、传输层,数据链路层

tcp在传输层,ip在网络层

5、UDP为什么丢包,怎样处理?丢包发生在那一层,为什么?

答:因为无连接、发生在网络层。在数据包的结束位置做标记,或者记录每个数据包的发送字节数,来让接收方分辨每个数据包。

6、tcp是同步还是异步谈谈对同步异步的理解?

同步;同步是指有序的,可预测的过程;异步指无序的,随机的过程。

7、什么是TCP的沾包现象,如何解决?

两个数据包发送的时间较近且比较小,有可能被接收端当作一个tcp段接收,因为接收方不知道每次要传输多少数据。解决办法:每次发送的时候要让接收方知道每个tcp段的大小多少。

8、组播和广播的区别?

答:组播需要接收端加入多播组,广播地址:网络号+255

组播地址:D类网络

9、阻塞I0和非阻塞I0的区别

答:阻塞io在文件没执行完继续等待终端的数据而不结束;非阻塞io在程序接收到数据后就直接结束。

10、并发和并行的区别?

并发:是对于单核处理器而言,同一时间段内,通过轮转时间片,运行多个进程。

并行:对于多核处理器或者多任务处理器,在同一时间,可以同时运行多个进程。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值