不过,既然接受了Python的简单易用和快速开发优势,作为tradeoff,就要学会接受和处理Python的一些缺点。用django作数据服务器两年多,确实会有一些性能问题。
1异步django的>
2缓存和队列用ZeroMQ、Memcached来做缓存和队列就解决了。
3影响性能的函数如果真的有CPU密集型的函数影响性能,可以编译成C来解决性能问题,一些矩阵 *** 作也可以通过numpy来解决
def handshake(conn):key =None
data = connrecv(8192)
if not len(data):
return False
for line in datasplit('\r\n\r\n')[0]split('\r\n')[1:]:
k, v = linesplit(': ')
if k =='Sec-WebSocket-Key':
key =base64b64encode(hashlibsha1(v +'258EAFA5-E914-47DA-95CA-C5AB0DC85B11')digest())
if not key:
connclose()
return False
response ='>这个不难,我说下原理,具体你自己实现。浏览器向web服务器提交要执行的linux命令,服务端调用ossystem等系统交互的方法,去执行所提交的命令,然后获取执行后标准输出、标准错误,将这些标准输出、错误以response返回给浏览器。
使用多线程,下面的代码,简单实现一个多线程的web服务器:
#coding=utf-8import socket
import threading
from time import sleep
def response(sock, addr):
print "收到请求"
data = sockrecv(1024)
print data
socksend(html)
sockclose()
html = '''>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)