萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> python實現TCP服務器端與客戶端的方法詳解

python實現TCP服務器端與客戶端的方法詳解

   本文實例講述了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:codeex>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:codeex>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:codeex>

  希望本文所述對大家的Python程序設計有所幫助。

copyright © 萬盛學電腦網 all rights reserved