本文实例讲述了python实现TCP服务器端与客户端的方法。分享给大家供大家参考。具体如下:
TCP服务器程序(tsTserv.py):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
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):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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() |
运行说明:先运行服务器程序,作用类似于打开服务器保持等待客户请求,再运行客户端程序。
运行界面如下:
服务器端:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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... |
客户端:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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程序设计有所帮助。