本文实例讲述了python实现tcp服务器端与客户端的方法。分享给大家供大家参考。具体如下:
tcp服务器程序(tstserv.py):
from socket import *
from time import ctime
host = ”
port = 21567
bufsiz = 1024
addr = (host, port)
tcpsersock = socket(af_inet, sock_stream)
tcpsersock.bind(addr)
tcpsersock.listen(5)
while true:
print ‘waiting for connection…’
tcpclisock, addr = tcpsersock.accept()
print ‘…connected from:’, addr
while true:
data = tcpclisock.recv(bufsiz)
if not data:
break
tcpclisock.send(‘[%s] %s’ %(ctime(), data))
tcpclisock.close()
tcpsersock.close()
tcp客户端程序(tstclnt.py):
from socket import *
host = ‘localhost’
port = 21567
bufsiz = 1024
addr = (host, port)
tcpclisock = socket(af_inet, sock_stream)
tcpclisock.connect(addr)
while true:
data = raw_input(‘> ‘)
if not data:
break
tcpclisock.send(data)
data1 = tcpclisock.recv(bufsiz)
if not data1:
break
print data1
tcpclisock.close()
运行说明:先运行服务器程序,作用类似于打开服务器保持等待客户请求,再运行客户端程序。
运行界面如下:
服务器端:
d:\code\ex>python tstserv.py
waiting for connection…
…connected from: (‘127.0.0.1’, 2883)
waiting for connection…
…connected from: (‘127.0.0.1’, 2885)
waiting for connection…
…connected from: (‘127.0.0.1’, 2889)
waiting for connection…
…connected from: (‘127.0.0.1’, 2891)
waiting for connection…
…connected from: (‘127.0.0.1’, 2892)
waiting for connection…
…connected from: (‘127.0.0.1’, 2893)
waiting for connection…
客户端:
d:\code\ex>python tstclnt.py
> 1
[thu feb 02 15:52:21 2012] 1
> 2
[thu feb 02 15:52:22 2012] 2
> 3
[thu feb 02 15:52:22 2012] 3
> 5
[thu feb 02 15:52:23 2012] 5
> 6
[thu feb 02 15:52:24 2012] 6
>
d:\code\ex>
希望本文所述对大家的python程序设计有所帮助。