程序取自Programming python,4th,讲述的是一个多线程的socketServer,程序还是比较简单的,win764bit,python3.4下测试通过.
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import time, _thread as thread
from socket import *
myHost = ''
myPort = 50007
sockobj = socket(AF_INET, SOCK_STREAM)
sockobj.bind((myHost, myPort))
sockobj.listen(5)
def now():
return time.ctime(time.time())
def handleClient(connection):
time.sleep(5)
while True:
data = connection.recv(1024)
if not data: break
reply = 'Echo=>%s at %s' % (data, now())
connection.send(reply.encode())
connection.close()
def dispatcher():
while True:
connection, address = sockobj.accept()
print('Server connected by', address, end=' ')
print('at', now())
thread.start_new_thread(handleClient, (connection,))
dispatcher()