学习笔记(08):Python网络编程并发编程-实现服务端可以对多个客户端提供服务
生活随笔
收集整理的這篇文章主要介紹了
学习笔记(08):Python网络编程并发编程-实现服务端可以对多个客户端提供服务
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
立即學(xué)習(xí):https://edu.csdn.net/course/play/24458/296237?utm_source=blogtoedu
鏈接循環(huán),一個服務(wù)器服務(wù)多個客戶端,
?
思路1:服務(wù)器一個一個地去服務(wù)客服端,等服務(wù)完一個客戶端后,再去服務(wù)下一個客戶端。
弊端:不可以一次性去處理所有的客戶端請求,一個一個處理處理的速度非常之慢,實際中是使用多線程進(jìn)行并發(fā)編程。并且最多只能監(jiān)聽5個客戶端請求,靠phone.listen(5)語句實現(xiàn)
.....phone.listen(5)#加上鏈接循環(huán),使得服務(wù)器一直處于運行的狀態(tài),一個客戶端服務(wù)關(guān)閉后,就會繼續(xù)等待接收另一個客戶端的請求,如此往復(fù) while True:res = phone.accept()conn,client_addr = reswhile True:#解決客戶端單方面關(guān)閉而服務(wù)器還在等待時會報ConnectionResetError錯誤的bugtry:data = conn.recv(1024)#1024表示接收的字節(jié)最大量是1024bytesprint('這是客戶端的請求數(shù)據(jù)',data)conn.send(data.upper())except ConnectionResetError:breakconn.close()phone close()?
思路2:利用線程并發(fā)編程實現(xiàn)
總結(jié)
以上是生活随笔為你收集整理的学习笔记(08):Python网络编程并发编程-实现服务端可以对多个客户端提供服务的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Zookeeper----基本原理
- 下一篇: 学习笔记(09):Python网络编程并