上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 40 下一页

2018年9月7日

摘要: 将原本阻塞的函数设置一个最长阻塞时间。如果时间内条件达成则正常运行,如果仍然阻塞则视为超时,继续向下运行或产生异常 s.settimeout(sec)设置套接字的超时时间 阅读全文
posted @ 2018-09-07 22:32 zengsf 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 通过修改IO事件的属性,使其变为非阻塞状态。(让一些条件阻塞函数不在阻塞) *非阻塞IO往往和循环判断一起使用 s.setblocking(False) 将套接字设置为非阻塞状态 阅读全文
posted @ 2018-09-07 22:31 zengsf 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 阻塞IO是IO的默认形态,是效率较低的一种IO情形。 阻塞情况: *因为某种条件没有达成造成的阻塞 e.g. accept,input,recv *处理IO数据传输时间较长形成的阻塞 e.g. 网络传输过程,文件读写过程 阅读全文
posted @ 2018-09-07 22:29 zengsf 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 什么是IO: 在内存中存在数据交换的操作都可以认为是IO操作 和终端交互:input print 和磁盘交互:read write 和网络交互:recv send IO密集型程序:在程序执行过程中存在大量IO操作,而cpu运算操作较少。消耗cpu较小,运行效率较低 计算密集型程序(cpu密集型程序) 阅读全文
posted @ 2018-09-07 22:22 zengsf 阅读(686) 评论(0) 推荐(0) 编辑
摘要: from socket import * def handleClient(connfd): print("-----") request = connfd.recv(4096) print(request) #将request请求按行分割 request_lines = request.splitlines() for line in requ... 阅读全文
posted @ 2018-09-07 22:16 zengsf 阅读(158) 评论(0) 推荐(0) 编辑

2018年9月6日

摘要: recv() 特征* 如果连接的另一端断开连接,则recv立即返回空子串* recv是从接受缓冲区取出内容,当缓冲区为空则阻塞* recv如果一次接受不完缓冲区内容,下次会继续接收 send() 特征* 如果发送的另外一段不存在则会产生Pipe Broken* send是向发送缓冲区发送内容,当缓冲 阅读全文
posted @ 2018-09-06 22:50 zengsf 阅读(538) 评论(0) 推荐(0) 编辑
摘要: 1. 流式套接字采用字节流方式进行传输,而数据报套接字 使用数据报形式传输数据2. tcp套接字会产生粘包,udp有消息边界,不会形成粘包。3. tcp编程可以保证消息的完整性,udp则不能保证4. tcp需要listen accept,udp不用5. tcp消息的发送接收使用recv send s 阅读全文
posted @ 2018-09-06 22:49 zengsf 阅读(561) 评论(0) 推荐(0) 编辑
摘要: 产生原因: * tcp传输以字节流的方式发送消息,消息之间没有边界 * 发送比接受的速度快,因此不能保证每次都能及时被接收 影响 : 对每次发送的内容是一个独立的意思需要单独识别 如何处理: 1. 每次发送后加一个结尾标志 2. 发送一个数据结构 3. 协调收发速度, 每次发送都预留一个接收时间 阅读全文
posted @ 2018-09-06 22:46 zengsf 阅读(152) 评论(0) 推荐(0) 编辑
摘要: UDP服务端代码示例: from socket import * #1.创建数据报套接字 sockfd = socket(AF_INET, SOCK_DGRAM) #2.绑定服务端地 sockfd.bind(("0.0.0.0", 8888)) while True: #3.接收消息 返回值:data 接收到的内容 addr 消息发送方的地址 #recvfrom每... 阅读全文
posted @ 2018-09-06 22:42 zengsf 阅读(715) 评论(0) 推荐(0) 编辑

2018年9月5日

摘要: 面向连接的传输服务 》 基于tcp协议的数据传输 传输特征: 可靠的数据传输 可靠性 : 数据在传输中,无失序 无差错 无丢失 无重复 在数据传输前和传输结束后需要建立连接和断开连接 三次握手 : 在面向连接的传输服务中建立连接的过程 1. 客户端向服务器发送连接请求 2. 服务器接受到请求进行确认 阅读全文
posted @ 2018-09-05 22:16 zengsf 阅读(1109) 评论(0) 推荐(0) 编辑
上一页 1 ··· 16 17 18 19 20 21 22 23 24 ··· 40 下一页

导航