#encoding=utf-8
#创建一个socketserverTCP服务器
#高级模块,简化客户和服务器的实现
from SocketServer import (TCPServer as TCP,StreamRequestHandler as SRH)
from time import ctime
host = ‘‘
port = 21567
addr = (host,port)
#从 SocketServer 的 StreamRequestHandler 类中派生出一个子类
class MyRequestHandler(ARH):
def handel(self):
print ‘connected from ‘,self.client_address
self.wfile.write(‘[%s] %s ‘ % (ctime(),self.rfile.readline()))
#用 readline()函数得到客户消息,用 write()函数把字符串发给客户。
tcpServ = TCP(addr,MyRequestHandler)
print ‘waiting for connection‘
tcpServ.serve_forever()
#encoding=utf-8
# 是一个时间戳 TCP 客户端,它知道如何与 SocketServer 里 StreamRequestHandler 对象进行
# 通讯。
from socket import *
host = ‘localhost‘
port = 21567
bufsiz = 1024
addr = (host,port)
while True:
tcpClientSock = socket(AF_INET,SOCK_STREAM)
tcpClientSock.connect(addr)
data = raw_input(‘>‘)
if not data:
break
tcpClientSock.send(‘%s\r\n‘ % data)
# 我们可以用 readline()函数得到客户消息,用 write()函数把字
# 符串发给客户。
# 为了保持一致性,我们要在客户与服务器两端的代码里都加上回车与换行。实际上,你在代码
# 中看不到这个,因为,我们重用了客户传过来的回车与换行。
data = tcpClientSock.recv(bufsiz)
if not data:
break
print data.strip()
tcpClientSock.close()
python网络编程之 创建一个socketserverTCP服务器
原文:http://www.cnblogs.com/lovely7/p/5830281.html