#!/usr/bin/python
#-*- coding:utf-8 -*-
import socket
import threading
import binascii
import string
import struct
e=[0]
a=[0xff,0xa0,0x11,0x22,0x0d]
class ThreadedServer(object):
def __init__(self,host,port):
self.host=host
self.port=port
self.sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
self.sock.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
self.sock.bind((self.host,self.port))
def listen(self):
self.sock.listen(5)
while True:
client,address=self.sock.accept()
client.settimeout(60)
threading.Thread(target=self.listenToClient,args=(client,address)).start()
def listenToClient(self,client,address):
size=1024
while True:
try:
data=client.recv(size)
if data:
hexstr=''
a[3]=0x99
response=struct.pack("%dB"%(len(a)),*a)
client.send(response)
print "收到来自",address,"长度为",len(data),"的消息"
for i in data:
hhex='%02x'%ord(i)
hexstr +=hhex+' '
# print('%#x' %ord(i))
print(hexstr)
time.sleep(1)
else:
raise error('Client disconnected')
except:
client.close()
return False
if __name__ == "__main__":
while True:
port_num=8888
try:
port_num=int(port_num)
break
except ValueError:
pass
ThreadedServer('192.168.1.111',port_num).listen()