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

首頁 > 編程 > Python > 正文

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

2020-01-04 14:22:44
字體:
來源:轉載
供稿:網友

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

與單一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連接的代碼示例的詳細內容,感謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 五峰| 南木林县| 广州市| 交城县| 蛟河市| 斗六市| 泰和县| 榆林市| 醴陵市| 灯塔市| 金堂县| 灵台县| 阳曲县| 榆社县| 南汇区| 明溪县| 土默特右旗| 从化市| 高台县| 乌拉特前旗| 同仁县| 台湾省| 鹤峰县| 哈密市| 治多县| 宜君县| 交城县| 望都县| 商都县| 延寿县| 吉水县| 东乌| 偃师市| 屏南县| 台州市| 托克托县| 通山县| 板桥市| 靖边县| 陕西省| 娄烦县|