本文实例讲述了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程序设计有所帮助。