欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

PythonWebsocket服務(wù)端通信的使用示例-創(chuàng)新互聯(lián)

1、嘮嘮叨叨

創(chuàng)新互聯(lián)建站-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比廣東網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式廣東網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋廣東地區(qū)。費用合理售后完善,十年實體公司更值得信賴。

最近又回顧了下Websocket,發(fā)現(xiàn)已經(jīng)忘的七七八八了。于是用js寫了客戶端,用python寫了服務(wù)端,來復(fù)習(xí)一下這方面的知識。

WebSocket 是一種標準協(xié)議,用于在客戶端和服務(wù)端之間進行雙向數(shù)據(jù)傳輸。但它跟 HTTP 沒什么關(guān)系,它是基于 TCP 的一種獨立實現(xiàn)。

以前客戶端想知道服務(wù)端的處理進度,要不停地使用 Ajax 進行輪詢,讓瀏覽器隔個幾秒就向服務(wù)器發(fā)一次請求,這對服務(wù)器壓力較大。另外一種輪詢就是采用 long poll 的方式,這就跟打電話差不多,沒收到消息就一直不掛電話,也就是說,客戶端發(fā)起連接后,如果沒消息,就一直不返回 Response 給客戶端,連接階段一直是阻塞的。

而 WebSocket 解決了 HTTP 的這幾個難題。當服務(wù)器完成協(xié)議升級后( HTTP -> WebSocket ),服務(wù)端可以主動推送信息給客戶端,解決了輪詢造成的同步延遲問題。由于 WebSocket 只需要一次 HTTP 握手,服務(wù)端就能一直與客戶端保持通信,直到關(guān)閉連接,這樣就解決了服務(wù)器需要反復(fù)解析 HTTP 協(xié)議,減少了資源的開銷。

2、先看一下效果吧

2.1、效果1(一個客戶端連上服務(wù)的并發(fā)送消息)

Python Websocket服務(wù)端通信的使用示例

2.2、效果2(另一個客戶端連上服務(wù)的并發(fā)送消息)

Python Websocket服務(wù)端通信的使用示例

2.3、效果3(服務(wù)的收到客戶端的全部消息并返回消息)

Python Websocket服務(wù)端通信的使用示例

2.4、效果4(一個客戶端掉線并不影響其它socket連接)

Python Websocket服務(wù)端通信的使用示例

2.5、效果5(列取全部連接客戶端對象和當前發(fā)消息的客戶端對象)

Python Websocket服務(wù)端通信的使用示例

3、核心代碼

3.1、Python

#! -*- coding: utf-8 -*-
"""
Author: ZhenYuSha
Create Time: 2019-1-14
Info: Websocket 的使用示例
"""
import asyncio
import websockets

websocket_users = set()


# 檢測客戶端權(quán)限,用戶名密碼通過才能退出循環(huán)
async def check_user_permit(websocket):
 print("new websocket_users:", websocket)
 websocket_users.add(websocket)
 print("websocket_users list:", websocket_users)
 while True:
  recv_str = await websocket.recv()
  cred_dict = recv_str.split(":")
  if cred_dict[0] == "admin" and cred_dict[1] == "123456":
   response_str = "Congratulation, you have connect with server..."
   await websocket.send(response_str)
   print("Password is ok...")
   return True
  else:
   response_str = "Sorry, please input the username or password..."
   print("Password is wrong...")
   await websocket.send(response_str)


# 接收客戶端消息并處理,這里只是簡單把客戶端發(fā)來的返回回去
async def recv_user_msg(websocket):
 while True:
  recv_text = await websocket.recv()
  print("recv_text:", websocket.pong, recv_text)
  response_text = f"Server return: {recv_text}"
  print("response_text:", response_text)
  await websocket.send(response_text)


# 服務(wù)器端主邏輯
async def run(websocket, path):
 while True:
  try:
   await check_user_permit(websocket)
   await recv_user_msg(websocket)
  except websockets.ConnectionClosed:
   print("ConnectionClosed...", path) # 鏈接斷開
   print("websocket_users old:", websocket_users)
   websocket_users.remove(websocket)
   print("websocket_users new:", websocket_users)
   break
  except websockets.InvalidState:
   print("InvalidState...") # 無效狀態(tài)
   break
  except Exception as e:
   print("Exception:", e)


if __name__ == '__main__':
 print("127.0.0.1:8181 websocket...")
 asyncio.get_event_loop().run_until_complete(websockets.serve(run, "127.0.0.1", 8181))
 asyncio.get_event_loop().run_forever()

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

本文標題:PythonWebsocket服務(wù)端通信的使用示例-創(chuàng)新互聯(lián)
本文地址:http://aaarwkj.com/article28/piecp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、營銷型網(wǎng)站建設(shè)ChatGPT、微信小程序、網(wǎng)站改版、微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管
在线激情视频一区二区| 小骚货操死你视频在线观看| 亚洲av色国产精品色午含羞草| 国产精彩在线视频成人在线| 国产精品一区二区熟女| 午夜最新福利在线视频| 91精品人妻一区二区| 国产精品av一区二区在线| 日韩亚洲中文一区三级黄片| 亚洲区一区二区三区精品| 亚洲熟妇av乱码在线| 久久综合给合综合久久| 精品综合亚洲中文字幕| 日韩欧美亚洲制服丝袜| 亚洲国产午夜福利在线69| 国产精品自拍午夜福利| 久久99热婷婷精品一区| 亚洲青青草原一区二区| av天堂五月在线观看| 亚洲中文字幕乱码丝袜在线精品 | 亚洲国产精品第一区第二区| 日韩欧美黄网站免费看| 黄色av手机在线观看| 国产精品欧美日韩精品| 一本久久综合亚洲鲁鲁五月天| 久久亚洲中文字幕精品熟女| 日本道欧美一区二区aaaa| 91精品国产91久久综合福利| 亚洲av优选在线观看精品| 亚洲精品中文字幕乱码| 中文欧美一区二区精品| 福利av一区二区三区| 一区二区三区人妻日韩| 少妇人妻系列中文在线| 91麻豆精品国产91久5久久| 中文字幕精品一区二区三区精品| 国产亚洲一区二区三区成人| 中文字幕一区二区三区三级| 国产三级成人在线视频| 欧美一区二区三区十区| 国产一级黄色免费大片|