threaded server
parent
929fe8bc2f
commit
a8c71d0a22
34
myserver.py
34
myserver.py
|
@ -1,6 +1,12 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
|
|
||||||
import requests,threading,time,json,zlib,gnupg,socket,psutil,os,sys,pymysql,queue,numpy
|
import requests,threading,time,json,zlib,gnupg,socket,psutil,os,sys,pymysql,queue,numpy
|
||||||
|
try:
|
||||||
|
from http_parser.parser import HttpParser
|
||||||
|
except ImportError:
|
||||||
|
from http_parser.pyparser import HttpParser
|
||||||
|
|
||||||
|
p = HttpParser()
|
||||||
gpg=gnupg.GPG()
|
gpg=gnupg.GPG()
|
||||||
|
|
||||||
pathname = os.path.dirname(sys.argv[0])
|
pathname = os.path.dirname(sys.argv[0])
|
||||||
|
@ -36,13 +42,29 @@ class ClientThread(threading.Thread):
|
||||||
self.csocket.send("\nWelcome to the server\n\n".encode('utf-8'))
|
self.csocket.send("\nWelcome to the server\n\n".encode('utf-8'))
|
||||||
|
|
||||||
data = "dummydata"
|
data = "dummydata"
|
||||||
|
body = []
|
||||||
|
while True:
|
||||||
|
data = self.csocket.recv(1024)
|
||||||
|
if not data:
|
||||||
|
break
|
||||||
|
|
||||||
|
recved = len(data)
|
||||||
|
nparsed = p.execute(data, recved)
|
||||||
|
assert nparsed == recved
|
||||||
|
|
||||||
|
if p.is_headers_complete():
|
||||||
|
print(p.get_headers())
|
||||||
|
|
||||||
|
if p.is_partial_body():
|
||||||
|
body.append(p.recv_body())
|
||||||
|
|
||||||
|
if p.is_message_complete():
|
||||||
|
break
|
||||||
|
|
||||||
while len(data):
|
print("Client(%s:%s) sent : %s"%(self.ip, str(self.port), body))
|
||||||
data = self.csocket.recv(2048)
|
response="You sent me : "+str(zlib.adler32(body))
|
||||||
print("Client(%s:%s) sent : %s"%(self.ip, str(self.port), data))
|
self.csocket.send(response.encode('utf-8'))
|
||||||
response="You sent me : "+str(zlib.adler32(data))
|
q.put(data,block=False)
|
||||||
self.csocket.send(response.encode('utf-8'))
|
|
||||||
q.put(data,block=False)
|
|
||||||
|
|
||||||
print("Client at ",self.ip," disconnected...")
|
print("Client at ",self.ip," disconnected...")
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue