zoukankan      html  css  js  c++  java
  • 网络编程总结练习

    1.什么是C/S架构?

    c : client(客户端)  s : server(服务端)

    通过C/S架构可以实现网络通信

    2.互联网协议是什么?分别介绍五层协议中每一层的功能?

    互联网协议就是计算机界的英语,网络就是物理链接介质+互联网协议

    OSI七层:
    应用层
    表示层
    会话层
    传输层
    网络层
    数据链路层
    物理层

    TCP/IP四层/五层:
    应用层            应用层 :软件 qq 暴风
    传输层            传输层 :建立端口到端口的通信 0-65535 0-1023为系统占用端口 tcp ucp
    网络层            网络层 :ip+mac 能找到全世界唯一的计算机 ip:找到哪一个局域网 mac:找到那一台机器
    数据链路层     接口层 :定义电信号的分组方式
    物理层 :                      发送01010101...电信号

    3.基于tcp协议通信,为何建立链接需要三次握手,而断开链接却需要四次挥手

    三次握手:client接收请求建立通道,server发送请求也建通道 , client发送可以建立,通过三次握手可以建立双向通道

    四次挥手:client接收请求,server同意请求,server发送请求,client接收请求

    4.为何基于tcp协议的通信比基于udp协议的通信更可靠?

    tcp:可靠 对方给了确认收到信息,才发下一个,如果没收到确认信息就重发
    udp:不可靠 一直发数据,不需要对方回应

    ‍5.流式协议指的是什么协议,数据报协议指的是什么协议?

    流式协议: TCP协议,可靠传输
    数据报协议: UDP协议,不可传输

    6.什么是socket?简述基于tcp协议的套接字通信流程

    Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部。

    服务端:创建socket对象,绑定ip端口bind(),  设置最大链接数listen(),  accept()与客户端的connect()创建双向管道, send(), recv(),close()

    客户端:创建socket对象,connect()与服务端accept()创建双向管道 ,  send(), recv(),close()

    7.什么是粘包? socket 中造成粘包的原因是什么? 哪些情况会发生粘包现象? 

    粘包:数据粘在一起,主要因为:接收方不知道消息之间的界限,不知道一次性提取多少字节的数据造成的
    数据量比较小,时间间隔比较短,就合并成了一个包,这是底层的一个优化算法(Nagle算法)

  • 相关阅读:
    找工作时写过的部分代码
    python编码格式
    dataframe删掉某列
    结巴分词出现AttributeError: 'float' object has no attribute 'decode'错误
    python转换图片格式
    感受野
    swift3 xib自定义view
    iOS 弹出键盘,输入框上移问题
    支付宝问题
    XCode6.0的iOS免证书真机测试方法(MAC及黑苹果均有效)
  • 原文地址:https://www.cnblogs.com/Mryang123/p/8834701.html
Copyright © 2011-2022 走看看