1、socket模块 建立网络通信连接至少要一对端口号(socket)。socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的 ...
分类:
编程语言 时间:
2018-05-13 13:43:10
阅读次数:
161
import socket import re import os def handle_client(socket_con): """ 接收来自客户端的请求,并接收请求报文,解析,返回 """ # 1、服务器接收客户端的请求报文 request = socket_con.recv(4096).de... ...
分类:
Web程序 时间:
2018-05-12 03:05:37
阅读次数:
221
import socket def handle_client(socket_con): """ 接收来自客户端的请求,并接收请求报文,解析,返回 """ # 服务器接收客户端的请求报文 request = socket_con.recv(4096).decode() print(request) ... ...
分类:
Web程序 时间:
2018-05-12 02:49:21
阅读次数:
158
import socket # 建立socket对象 socket_con = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 连接指定服务器地址 socket_con.connect(('www.baidu.com', 80)) # 拼接请求... ...
分类:
其他好文 时间:
2018-05-12 02:46:13
阅读次数:
123
import socket def handle_client(socket_con): """ 接收来自客户端的请求,并接收请求报文,解析,返回 """ # 服务器接收客户端的请求报文 request = socket_con.recv(4096).decode() print(request) ... ...
分类:
Web程序 时间:
2018-05-12 02:41:38
阅读次数:
174
同步阻塞式IO开发简单,但在处理IO密集的并发任务时,非常浪费CPU资源,性能低;并且,当一个进程(线程)含有多个套接字上时,同步阻塞式IO会带来问题:因为同步阻塞式IO只支持进程(线程)阻塞在一个套接字上,其余套接字上的事件将得不到及时处理。 为解决这些问题,IO编程的世界诞生了更多的IO模型及实 ...
分类:
其他好文 时间:
2018-05-11 23:39:28
阅读次数:
177
1.粘包: 多个包 多个命令的结果 粘到一起了 因为recv 1024限制了 导致的结果 参考:http://www.cnblogs.com/linhaifeng/articles/6129246.html粘包底层原理分析: 1.运行一个软件 和 哪几个硬件 有关 硬盘 内存 cpu 2.启动程序:... ...
分类:
其他好文 时间:
2018-05-09 21:06:18
阅读次数:
179
一. flask依赖wsgi,实现wsgi的模块:wsgiref(django),werkzeug(flask),uwsgi 1. werkzeug示例 2. wsgiref示例: 3. 本质的本质 socket 4. app.run()中的run方法源码 def run(self, host=No ...
分类:
其他好文 时间:
2018-05-08 16:31:35
阅读次数:
308
TCP阻塞模型下服务器和客户端的建立步骤:服务器的建立步骤:1.调用socket建立TCP套接字2.调用bind将套接字跟本地地址绑定3.调用listen建立监听4.建立accept接受来自客户端的连接,返回新的连接套接字5.在新的套接字上面,调用send/recv实现跟客户端的通信客户端的建立步骤:1.调用socket建立TCP套接字2.调用connect实现跟服务器的连接3.调用send/re
分类:
其他好文 时间:
2018-05-03 23:33:15
阅读次数:
209
1. 点播的播放流程分析 1.1 ngx_rtmp_cycle 在握手结束后,即进入该函数中做进一步处理。 1.1.1 ngx_rtmp_reset_ping 1.2 ngx_rtmp_recv 1.3 ngx_rtmp_receive_message (1) rtmp 握手成功后接收到的第一个 r ...
分类:
其他好文 时间:
2018-05-03 22:40:30
阅读次数:
1225