Web Function能力升級,原生支持WebSocket協(xié)議

來源: 騰訊云云函數
作者:April
時間:2021-10-11
16952
云函數Web Function能力推出后,對于原生框架的無改造直接部署,在性能和開發(fā)流程上,都受到了眾多開發(fā)者的好評。在一期能力的基礎上,Web Function現(xiàn)已支持WebSocket協(xié)議,實現(xiàn)客戶端和函數運行的服務端間建立長連接。

云函數Web Function能力推出后,對于原生框架的無改造直接部署,在性能和開發(fā)流程上,都受到了眾多開發(fā)者的好評。在一期能力的基礎上,Web Function現(xiàn)已支持WebSocket協(xié)議,實現(xiàn)客戶端和函數運行的服務端間建立長連接。

01.

工作原理

1633942999(1).png

1.服務啟動與連接建立

與HTTP協(xié)議一樣,Web函數支持在官方或自定義的運行環(huán)境中,使用啟動文件啟動WebSocket服務器,并在指定端口(9000)上進行監(jiān)聽,通過前端API網關提供的WS路徑,接收到客戶端連接請求后,完成連接的建立。

連接建立后,客戶端及服務端按WebSocket協(xié)議進行正常通訊。

2.WebSocket連接生命周期

在Web函數的WebSocket支持的情況下,WebSocket一次連接的生命周期,等同于一次函數調用請求;WS連接建立過程等同于請求發(fā)起階段,WS連接斷開等同于請求結束。

02.

控制臺部署體驗

1.創(chuàng)建函數

在通過控制臺創(chuàng)建函數時,可以通過選擇自定義創(chuàng)建、選擇Web函數、展開高級配置來看到協(xié)議支持選項。

1633943033(1).png

通過勾選WebSocket支持,配置好WebSocket空閑超時時間,來完成WebSocket協(xié)議支持。

1633943053(1).png

同時在勾選WebSocket支持后,API網關的協(xié)議支持同樣將自動切換為WS&WSS支持,創(chuàng)建的API網關所提供的鏈接地址,也將是WebSocket地址。

1633943075(1).png

在完成創(chuàng)建后,WebSocket的協(xié)議支持不可取消,但可以根據需求修改空閑超時時間配置。

03.

示例代碼

目前可以通過如下的Demo代碼來創(chuàng)建函數,體驗WebSocket效果:

·Python示例:使用WebSockets庫實現(xiàn)WebSocket服務端;

Python示例獲取地址:https://github.com/awesome-scf/scf-python-code-snippet/tree/main/ws_python

·Node.js示例:使用WebSockets庫實現(xiàn)WebSocket服務端;

Node.js示例獲取地址:https://github.com/awesome-scf/scf-nodejs-code-snippet/tree/main/ws_node

·WebSockets庫:https://github.com/websockets/ws

立即登錄,閱讀全文
版權說明:
本文內容來自于騰訊云云函數,本站不擁有所有權,不承擔相關法律責任。文章內容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權,請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質服務商推薦
更多
掃碼登錄
打開掃一掃, 關注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務合作
商務合作
投稿采訪
投稿采訪
出海管家
出海管家