import socket
import threading
from time import strftime
class TcptimeServer:
def __init__(self, host='', port=21567):
self.addr = (host, port)
self.serv = socket.socket()
self.serv.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
self.serv.bind(self.addr)
self.serv.listen(2)
def tcp_work(self, cli_sock):
while True:
rdata = cli_sock.recv(1024)
rdata = rdata.decode('utf8')
if rdata.strip() == 'quit':
break
print(rdata.strip())
sdata = '[%s] %s' % (strftime('%H:%S:%M'), rdata)
cli_sock.send(sdata.encode('utf8'))
cli_sock.close()
def tcp_connect(self):
while True:
cli_sock, cli_addr = self.serv.accept()
t = threading.Thread(target=self.tcp_work, args=(cli_sock,)) ##导入多线程模块。
t.start() ##启动多线程
self.serv.close()
if __name__ == '__main__':
s = TcptimeServer()
s.tcp_connect()