python websocket服务器端_python websocket服务

WebSocket 是一个标准化协议,构建在 TCP 之上,能够在客户端和服务端之间建立一个全双工的通信渠道。这里的客户端和服务端通常是用户浏览器和 Web 服务器。在 WebSocket 诞生之前,如果我们想保持这样的一个长连接,就需要使用诸如长轮询、永久帧、Comet 等技术。而现今 WebSocket 已经得到了所有主流浏览器的支持,我们可以使用它开发出在线聊天室、游戏、实时仪表盘等软件。

安装websockets第三发库

pip install websockets

pip install asyncio

实现websocket服务端服务

import asyncio

import websockets

@asyncio.coroutine

def echo(websocket, path):

message = yield from websocket.recv()

print('recv', message)

server_data = "收到服务端的数据"

yield from websocket.send(server_data)

start_server = websockets.serve(echo, 'localhost', 8765)

asyncio.get_event_loop().run_until_complete(start_server)

asyncio.get_event_loop().run_forever()

实现websocket客户端服务

编写一个index.js文件,具体代码如下:

var ws = new WebSocket("ws://localhost:8765/echo")

//建立web socket 连接成功触发事件

ws.onopen = function () {

ws.send("客户端发送的数据")

console.log("数据发送中....")

};

//接收 web socket 服务端数据时触发事件

ws.onmessage = function (evt) {

var received_msg = evt.data

console.log(received_msg)

};

//断开web socket 连接成功触发事件

ws.onclose = function () {

console.log("连接已断开")

};

编写一个index.html文件,引入上面编写的js文件,来测试一下websocket的功能。

websocket

在浏览器打开index.html文件,打开调试窗口,刷新页面。可以看到websocket客户端与服务端各自输出的日志。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值