亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python 循環遍歷socket傳輸的消息時,循環被阻塞

Python 循環遍歷socket傳輸的消息時,循環被阻塞

ibeautiful 2018-08-04 07:19:27
# 循環遍歷每個client對應socket接收消息放入到消息隊列中 def receiver():     print "receiver線程啟動" while True:         for keyTemp in clients.keys():             sock = clients[keyTemp]             try:                 data = sock.recv(BufferSize)             except Exception:                 pass             if data is None:                 continue             elif data =="":                 continue             else:                 print clients.keys()                 print "接收到新消息"+keyTemp+":"+data                 Message = {}                 Message[keyTemp] = data                 MessageQueue.append(Message)                 print MessageQueue                 print MessageQueue[0] 這個代碼是用python寫了,感覺原理差不多吧! 問題:當我有兩個用戶在線["123","456"]時這個循環會遍歷用戶名所映射的socket通過sock.recv(BufferSize)這個語句接收消息 當用戶名為456的發送消息如:“你好!世界”我的服務器是不能接收到這個消息 只有當用戶名為123的用戶發送完消息后服務器才能才能接受到用戶456發送的消息 即:循環會一直被阻塞,知道接收到消息才能執行。 這個問題應該怎么解決
查看完整描述

1 回答

?
楊__羊羊

TA貢獻1943條經驗 獲得超7個贊

用多線程應該可以解決,不懂python,之前用C#做過,太久了忘了,大概就是有阻塞的地方開個新線程就可以了。


查看完整回答
反對 回復 2018-08-23
  • 1 回答
  • 0 關注
  • 1022 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號