知识点:之前讲的udp协议传输数据安全性地,不可靠不稳定,tcp协议传输数据安全可靠,因为它们的通讯机制是不一样的。udp是用户数据报文传输,也就是直接丢一个数据包给另外一个程序,就好比寄信给别人,信丢了你也不知道,tcp传输需要先和服务端建立连接,当客户端与服务器连接时,服务器会给出应答,我俩连上 ...
分类:
其他好文 时间:
2018-07-20 01:17:54
阅读次数:
147
import socket sk = socket.socket() sk.bind(('127.0.0.1',8080)) sk.listen() conn,addr = sk.accept() while True: ret = conn.recv(1024).decode('utf-8') i ...
分类:
其他好文 时间:
2018-07-18 17:02:06
阅读次数:
168
import socket def tcplink(sock, addr): print('Accept new connection from %s:%s...' % addr) sock.send(b'Welcome!') while True: data = sock.recv(1024) t... ...
分类:
其他好文 时间:
2018-07-16 23:03:17
阅读次数:
137
# -*- coding: utf-8 -*- from socket import * import subprocess server = socket() server.bind(('',10000)) server.listen(5) while True: conn,addr = serv... ...
分类:
其他好文 时间:
2018-07-15 11:14:44
阅读次数:
151
创建SerialPortFun类 创建数据接收 ...
阻塞IO(blocking IO) 在Linux中,默认情况下所有的socket都是blocking,一个典型的读操作流程大概是这样: 当用户进程调用了recvfrom这个系统调用,kernel就开始了IO的第一个阶段:准备数据。对于network io来说,很多时候数据在一开始还没有到达(比如,还 ...
分类:
编程语言 时间:
2018-07-12 23:59:43
阅读次数:
300
我们了解了socket之后已经知道,普通套接字实现的服务端的缺陷:一次只能服务一个客户端! 并且,为了使一个客户端能够不断收发消息,我们还要使用while循环来轮询,这极大地降低了我们的效率 accept阻塞! 在没有新的套接字来之前,不能处理已经建立连接的套接字的请求 recv 阻塞! 在没有接受 ...
分类:
其他好文 时间:
2018-07-12 21:44:58
阅读次数:
191
高性能爬虫方案: 多进程 多线程 利用“异步非阻塞”模块实现单线程并发请求。 本质 IO多路复用: 监听多个socket是否发生变化 IO多路复用的作用: 1.select,内部循环检测socket是否发生变化;最多只能检测1024个socket 2.poll,内部循环检测socket是否发生变化; ...
分类:
编程语言 时间:
2018-07-12 20:47:50
阅读次数:
180
创建一个socketserver 至少分以下几步 First, you must create a request handler class by subclassing the BaseRequestHandlerclass and overriding its handle() method; ...
分类:
编程语言 时间:
2018-07-09 23:42:17
阅读次数:
305