查看Linux的TCP连接 netstat -na 查看哪些IP连接本机 netstat -na Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Addre ...
分类:
系统相关 时间:
2018-06-19 11:56:49
阅读次数:
281
概要 本文以一个Socket程序为例由浅及深地揭示了Html的本质问题,同时介绍了作为web开发者我们在开发网站时需要做的事情 Html的本质以及开发需要的工作 1.服务器 客户端模型 其实,对于所有的Web应用来说,从本质上讲我们运行web应用程序的地方就是一个socket服务端,而用户的浏览器就 ...
分类:
Web程序 时间:
2018-06-16 11:59:09
阅读次数:
277
三次握手协议:指的是在发送数据的准备阶段,服务器端和客户端之间需要进行三次交互: 第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的syn(ack=j+1),同时自己也发送一个SYN包(syn=k),即S ...
分类:
其他好文 时间:
2018-06-14 18:07:20
阅读次数:
145
#进程池: Pool : 节省系统回收资源的时间,降低操作系统的难度。 #适合纯计算型的程序。 多进程:适合高IO # from multiprocessing import Pool # # def cal(num): # print(num*num) # return num*'-' #返回给a ...
分类:
其他好文 时间:
2018-06-13 20:56:12
阅读次数:
202
三次握手1.客户端发送SYN(SEQ=x)报文给服务器端,进入SYN_SEND状态。2.服务器端收到SYN报文,回应一个SYN(SEQ=y)ACK(ACK=x+1)报文,进入SYN_RECV状态。3.客户端收到服务器端的SYN报文,回应一个ACK(ACK=y+1)报文,进入Established状态。打电话例子:A:“喂,你听得到吗?”A->SYNSENDB:“我听得到呀,你听得到我吗?”应
分类:
其他好文 时间:
2018-06-13 11:30:03
阅读次数:
172
一、Web框架本质 我们可以这样理解:所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端。 这样我们就可以自己实现Web框架了。 1. 半成品自定义web框架 可以说Web服务本质上都是在这十几行代码基础上扩展出来的。这段代码就是它们的祖宗。 用户的浏览器一输 ...
分类:
Web程序 时间:
2018-06-12 17:44:08
阅读次数:
200
通过gevent实现socket的多并发server 端:import geventfrom gevent import socket, monkeymonkey.patch_all() #进行IO标记def server(port): s = socket.socket() s.bind(('lo ...
分类:
编程语言 时间:
2018-06-11 00:30:03
阅读次数:
217
Socket编程:socket是计算机进程间通信的一种技术。socket包含api、通信的两端的端口和ip、通信的链接。 主要涉及的类: 服务端: 客户端: 在这之后: 在UDP编程中,发送、接收信息的时候缓冲区都是用byte数字来表示的,所以编码时候要注意一下。 ...
分类:
编程语言 时间:
2018-06-10 20:13:31
阅读次数:
185
UDP的特点 无连接 直接发发发 基于消息的数据传输服务 , 因此不存在TCP的粘包问题,但是存在丢包问题 不可靠。 一般情况下UDP更加高效 UDP注意点 UDP报文可能会丢失、重复 UDP报文可能会乱序 UDP缺乏流量控制 udp缓冲区写满以后,没有流量控制机制,会覆盖缓冲区。 UDP协议数据报 ...
分类:
系统相关 时间:
2018-06-10 00:32:24
阅读次数:
344
Linux下常用的5中IO 模型 阻塞I/O 当上层应用app1调用recv系统调用时,如果对等方没有发送数据(缓冲区没有数据),上层应用app1将阻塞(默认行为,被linux内核阻塞);当对等方发送了数据,linux内核recv端缓冲区,有数据后,内核会把数据copy给用户空间。然后上层应用app ...
分类:
系统相关 时间:
2018-06-09 15:23:17
阅读次数:
195