更新時(shí)間:2023年04月19日11時(shí)19分 來源:傳智教育 瀏覽次數(shù):
WebSocket應(yīng)用的協(xié)議是WebSocket協(xié)議,它是一種在單個(gè)TCP連接上進(jìn)行全雙工通信的網(wǎng)絡(luò)協(xié)議。
以下是一個(gè)基于Python的WebSocket服務(wù)器示例代碼:
import asyncio import websockets async def echo(websocket, path): async for message in websocket: await websocket.send(message) async def main(): async with websockets.serve(echo, "localhost", 8765): await asyncio.Future() # run forever asyncio.run(main())
這個(gè)示例代碼使用了websockets庫,它是一個(gè)常用的WebSocket庫,可以通過pip install websockets命令進(jìn)行安裝。這個(gè)示例代碼創(chuàng)建了一個(gè)WebSocket服務(wù)器,當(dāng)客戶端連接到服務(wù)器時(shí),服務(wù)器會(huì)將客戶端發(fā)送的消息返回給客戶端。
以下是一個(gè)基于JavaScript的WebSocket客戶端示例代碼:
const socket = new WebSocket('ws://localhost:8765/'); socket.addEventListener('open', function (event) { socket.send('Hello Server!'); }); socket.addEventListener('message', function (event) { console.log('Message from server:', event.data); }); socket.addEventListener('close', function (event) { console.log('Connection closed'); });
這個(gè)示例代碼使用了瀏覽器原生的 WebSocket API,創(chuàng)建了一個(gè) WebSocket 客戶端連接到指定的服務(wù)器地址和端口。當(dāng)連接打開后,客戶端會(huì)發(fā)送一條消息給服務(wù)器,當(dāng)服務(wù)器返回消息時(shí),客戶端會(huì)將消息打印到控制臺(tái)。當(dāng)連接關(guān)閉時(shí),客戶端會(huì)將一條信息打印到控制臺(tái)。
需要注意的是,在使用 WebSocket 時(shí),服務(wù)器和客戶端之間的通信是基于消息的,可以自定義消息的格式和內(nèi)容。同時(shí),由于 WebSocket 使用單個(gè) TCP 連接進(jìn)行通信,因此可以減少網(wǎng)絡(luò)延遲和傳輸開銷,從而提高應(yīng)用的性能和響應(yīng)速度。
北京校區(qū)