python实现TCP服务器端与客户端的方法详解

577次阅读  |  发布于5年以前

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

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8