[python3] pyton socket 同步通信举例
生活随笔
收集整理的這篇文章主要介紹了
[python3] pyton socket 同步通信举例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
本文比較簡單,適合入門用,作個筆記,方便日后抄寫
一個服務端,一個客戶端,而且是阻塞方式,一次只能接受一個客戶端連接并通信噢。
客戶端發送‘bye', 結束與服務端的通信,如果發送’shutdown',服務端將會關閉自己!
服務端代碼:
from socket import * from time import ctimeHOST = '' PORT = 21567 BUFSIZE = 1024 ADDR = (HOST, PORT)tcpSerSock = socket(AF_INET, SOCK_STREAM) tcpSerSock.bind(ADDR) tcpSerSock.listen(5) quit = False shutdown = Falsewhile True:print('waiting for connection...')tcpCliSock, addr = tcpSerSock.accept()print('...connected from: ', addr)while True:data = tcpCliSock.recv(BUFSIZE)data = data.decode('utf8')if not data:breakss = '[%s] %s' %(ctime(), data)tcpCliSock.send(ss.encode('utf8'))print(ss)if data == 'bye':quit = Truebreakelif data == 'shutdown':shutdown = Truebreakprint('Bye-bye: [%s: %d]' %(addr[0], addr[1]))tcpCliSock.close()if shutdown:break tcpSerSock.close() print('Server has been客戶端代碼: from socket import *HOST = 'localhost' PORT = 21567 BUFSIZE = 1024 ADDR = (HOST, PORT)tcpCliSock = socket(AF_INET, SOCK_STREAM) tcpCliSock.connect(ADDR)while True:data = input('>')if not data:continueprint('input data: [%s]' %data)tcpCliSock.send(data.encode('utf8'))rdata = tcpCliSock.recv(BUFSIZE)if not rdata:breakprint(rdata.decode('utf8'))if data == 'bye' or data == 'shutdown':breaktcpCliSock.close()
參考網址:? http://blog.163.com/yi_yixinyiyi/blog/static/136286889201152814341144/
總結
以上是生活随笔為你收集整理的[python3] pyton socket 同步通信举例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 紧急通知:360 网站卫士前端公共库已停
- 下一篇: 数据结构严蔚敏 栈基本操作 C语言实