国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python socket多線程通訊實例分析(聊天室)

2020-01-04 17:33:59
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了python socket多線程通訊方法,以聊天室程序實例分析了Python基于Socket實現多線程通信的相關技巧,需要的朋友可以參考下
 

本文實例講述了python socket多線程通訊方法。分享給大家供大家參考,具體如下:

#!/usr/bin/evn python"""這是一個Socket+多進程的例子(聊天服務端)"""import socketimport threading# 處理中文數據用的encoding = "GBK"def HKServer(client, addr): """ 與客戶端時實通訊函數 加入encoding是為了處理輸入中文數據 client 客戶socket addr  客戶address """ # 通知已有的每個客戶,有新的成員加入 for c in clients: c.send(bytes("[%s]加入/r/n" % addr[1], encoding)) # 接受客戶端數據 say = b"" while True:  data = client.recv(1024)  if not data: break  # 如果不是回車鍵  if data != b'/r/n':   say += data #.encode(encoding)   continue  # 把客戶端發來的內容發給所有的客戶端  for c in clients:   c.send(bytes("[%s]:%s/r/n" % (addr[1], say.decode(encoding)), encoding))  # 內容歸/x0  say = b"" # 客戶離開后,從客戶列表中移隊當前客戶,關閉socket連接 clients.remove(client) client.close() # 通知已有的每個客戶,有成員離開 for c in clients: c.send(bytes("[%s]離開/r/n" % addr[1], encoding))# 客戶端列表clients = []# 設置IP地址與端口HOST = ''PORT = 9999# 初始化sockets = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 綁定IP地址與端口s.bind((HOST, PORT))# 開始監聽s.listen(1)# 循環等待while True: # 接受客戶 client, addr = s.accept() # 啟動新的進程與客戶通信 thread = threading.Thread(target=HKServer, args=(client, addr)) thread.start() # 記錄新的客戶 clients.append(client)

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 分宜县| 晋中市| 樟树市| 阜南县| 神农架林区| 大关县| 洛扎县| 黄浦区| 兴义市| 拜城县| 汽车| 阿拉善盟| 交城县| 芮城县| 景东| 紫阳县| 天柱县| 宁陵县| 南宫市| 香格里拉县| 五指山市| 淮安市| 南投县| 淮南市| 南江县| 嘉义市| 吕梁市| 建宁县| 浏阳市| 浙江省| 馆陶县| 昌黎县| 永德县| 上杭县| 涞源县| 衡东县| 迁安市| 三江| 西丰县| 休宁县| 绍兴县|