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

首頁 > 編程 > Python > 正文

python中協程實現TCP連接的實例分析

2020-02-15 23:09:58
字體:
來源:轉載
供稿:網友

在網絡通信中,每個連接都必須創建新線程(或進程) 來處理,否則,單線程在處理連接的過程中, 無法接受其他客戶端的連接。所以我們嘗試使用協程來實現服務器對多個客戶端的響應。

與單一TCP通信的構架一樣,只是使用協程來實現多個任務同時進行。

#服務端import socketfrom gevent import monkeyimport geventmonkey.patch_all()def handle_conn(seObj):  while True:    re_Data = seObj.recv(1024).decode('utf-8')    if re_Data == 'quit':      break    print('client>>',re_Data)    value = input("server>>")    se_Data = seObj.send(value.encode('utf-8'))    if se_Data == 'quit':      breakif __name__ == '__main__':  server = socket.socket()  server.bind(('192.168.1.227',9876))  print("服務已開啟")  server.listen(4)  while True:    seObj,add = server.accept()    gevent.spawn(handle_conn,seObj)  seObj.close()  server.close()
import socket # 1. 創建客戶端的socket對象client = socket.socket()# 2. 連接服務端, 需要指定端口和IPclient.connect(('192.168.1.227',9876))while True:  # 3. 給服務端發送數據  send_data = input("client:>")  client.send(send_data.encode('utf-8'))  if send_data == 'quit':    break  # 4. 獲取服務端返回的消息  recv_data = client.recv(1024).decode('utf-8')  if recv_data == 'quit':    break  print("server:>%s" %(recv_data))# 5. 關閉socket連接client.close()

以上就是python中協程實現TCP連接的代碼示例的詳細內容,感謝大家對武林站長站的支持。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 正宁县| 吕梁市| 镶黄旗| 尉氏县| 荆门市| 淅川县| 柘城县| 达尔| 巴南区| 巨鹿县| 岐山县| 靖安县| 托克逊县| 宝应县| 内黄县| 肥城市| 高青县| 利川市| 万宁市| 邹城市| 来安县| 濮阳县| 陵水| 泸州市| 磐石市| 左权县| 元江| 义马市| 祁阳县| 仁布县| 固安县| 民丰县| 溧水县| 德化县| 乾安县| 阿克陶县| 永和县| 湾仔区| 兴山县| 水城县| 镇江市|