
网络编程
套接字编程、tcp/ip五层模型、socket编程、粘包问题socketserver实现并发编程
知行合一cc
这个作者很懒,什么都没留下…
展开
-
socketserver实现并发编程
一、socketserver实现并发基于tcp的套接字,关键就是两个循环,一个链接循环,一个通信循环socketserver模块中分两大类:server类(解决链接问题)和request类(解决通信问题)源码分析总结:基于tcp的socketserver我们定义的类中的 ① self.server即套接字对象 ② self.request即一个链接 ③ self.client_address即客户端地址基于udp的socketserver我们定义的类中的① self.req原创 2020-08-18 15:12:55 · 324 阅读 · 0 评论 -
粘包及其解决方法
一、粘包1.1 粘包现象只有在tcp协议中会出现,在udp协议中永远不会出现tcp协议是面向流的协议,这也是容易产生粘包问题的原因所谓粘包问题只要你还是因为接受方不知道消息之间的界限,不知道一次性提取多少字节的数据造成的此外,发送方引起的粘包是由于TCP协议本身造成的,TCP为提高传输效率,发送方往往要收集到足够多的数据后才发送一个TCP段。如果连续几次需要发送的数据都很少,通常TCP会根据优化算法将这些数据合成一个TCP段后一次发送出去,这样接受方就收到了粘包数据TCP是面向连接,面向流的,提供原创 2020-08-15 20:50:51 · 1337 阅读 · 0 评论 -
socket编程——简单通信
一、socket是什么?socket是应用程序与tcp/ip协议族通信的中间软件抽象层,是一组接口。在设计模式中,socket其实就是一个门面模式,它把复杂的tcp/ip协议族隐藏在socket接口下面,对用户来说,一组简单的接口就是全部,让socket去组织数据,以符合指定的协议。所以,由于socket已经帮我们封装好了,我们不需要深入了解tcp/ip协议,基于socket规定编程,自然就符合tcp/ip协议了。二、套接字的分类2.1 基于文件类型的套接字家族套接字家族的名字:AF_UNIX原创 2020-08-13 18:59:31 · 540 阅读 · 0 评论 -
上网通信流程、socket
一、上网的通信流程1.1 URL地址:在WWW上,每一信息资源都有统一且在网上唯一的地址,即URL地址它是WWW的统一资源定位标志,就是指网络地址1.2 URL地址的组成:① 协议② 主机+端口③ 路径一般语法:(带方括号的为可选择项)protocol :// hostname[:port] / path / [;parameters][?query]#fragment1.2.1 protocol(协议):指定使用的传输协议(最常使用的是HTTP协议,运行在TCP之上)下表列出原创 2020-08-12 15:17:35 · 341 阅读 · 0 评论 -
tcp/ip五层模型
tcp/ip五层模型一、物理层1.1 由来1.2 物理层功能二、数据链路层2.1 由来2.2 功能2.3 以太网协议2.4 mac地址2.5 广播三、网络层3.1 网络层由来3.2 IP协议3.3 子网掩码3.4 ip数据包3.5 ARP协议四、传输层4.1 传输层由来4.2 传输层功能:建立端口到端口的通信4.3 tcp协议:4.4 udp协议:五、应用层5.1 应用层的由来5.2 应用层功能一、物理层1.1 由来孤立的计算机之间想要互相能够交流,必须接入Internet,即计算机之间必须完成组网原创 2020-08-11 19:12:25 · 1028 阅读 · 1 评论 -
异常处理、套接字编程
一、异常处理:1.1 什么是异常:错误发生的信号,一旦程序出错就会产生一个异常如果该异常没有处理,该异常就会被抛出来,程序的运行随机被终止① 异常处理的三个组成: 异常追踪信息(具体哪一行代码抛出的的异常)、 异常的种类、 异常的内容信息② 异常的类型:NameError:引用了一个不存在的名字AttributeError:访问了对象所没有的属性IndexError :索引超出范围KeyError:字典的key不存在ValueError:传入的值的类型不正确TypeErr原创 2020-08-10 19:10:16 · 306 阅读 · 0 评论