threaded server

master
ademant 2019-11-13 06:34:18 +01:00
parent 929fe8bc2f
commit a8c71d0a22
1 changed files with 28 additions and 6 deletions

View File

@ -1,6 +1,12 @@
#!/usr/bin/env python
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()
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'))
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):
data = self.csocket.recv(2048)
print("Client(%s:%s) sent : %s"%(self.ip, str(self.port), data))
response="You sent me : "+str(zlib.adler32(data))
self.csocket.send(response.encode('utf-8'))
q.put(data,block=False)
print("Client(%s:%s) sent : %s"%(self.ip, str(self.port), body))
response="You sent me : "+str(zlib.adler32(body))
self.csocket.send(response.encode('utf-8'))
q.put(data,block=False)
print("Client at ",self.ip," disconnected...")