Python socket模組實現TCP服務端用戶端

來源:互聯網
上載者:User

標籤:python   socket   

Python socket模組實現TCP服務端用戶端
寫了詳細的注釋,如果有哪一行不明白,可留言哦。
服務端指令碼
# _*_ coding: utf-8 _*___author__ = ‘xiaoke‘__date__ = ‘2018/6/13 14:39‘# 這個指令碼建立一個TCP伺服器,它接收來自用戶端的訊息,然後將訊息加上時間戳記首碼並返回用戶端import socketfrom time import ctimeHOST = ‘‘PORT = 21567BUFSIZ = 4096ADDR = (HOST, PORT)# 建立TCP通訊端tcpSock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 建立UDP通訊端# udpSock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)tcpSock.bind(ADDR)  # 將地址綁定到通訊端上tcpSock.listen(5)  # 設定並啟動TCP監聽器while True:    print("waiting for connection....")    tcpCliSock, addr = tcpSock.accept()  # 被動接收TCP用戶端串連,一直等待直到串連到達(阻塞)    print("... connected from", addr)    while True:        data = tcpCliSock.recv(BUFSIZ)  # 接收TCP訊息        # print(data)        # 如果有資料加上時間戳記後返回給用戶端,因為只接受位元組資料,所以把資料使用bytes函數轉換        if not data:            break        tcpCliSock.send(bytes(‘[%s] %s‘ % (ctime(), data.decode(‘utf-8‘)), ‘utf-8‘))    tcpCliSock.close()# tcpSock.close()
用戶端指令碼
# _*_ coding: utf-8 _*___author__ = ‘xiaoke‘__date__ = ‘2018/6/13 16:01‘import socketimport sysHOST = ‘127.0.0.1‘PORT = 21567BUFSIZ = 4096ADDR = (HOST, PORT)# 建立用戶端TCP串連tcpCliSock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 串連伺服器try:    tcpCliSock.connect(ADDR)except Exception as e:    print("串連伺服器失敗:",e)    sys.exit(-1)while True:    data = input(‘> ‘)    if not data:        break    # 迴圈發送資料,直到沒有資料發送退出    tcpCliSock.send(bytes(data, encoding=‘utf-8‘))    # 接收服務端返回的訊息,如果沒有訊息返回,也將退出迴圈    data = tcpCliSock.recv(BUFSIZ)    if not data:        break    print(data.decode(‘utf-8‘))tcpCliSock.close()

Python socket模組實現TCP服務端用戶端

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.