本篇文章给大家带来的内容是关于python中tornado下websocket客户端编程的介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
由于websocket是html5的标准之一,所以主流浏览器的web客户端编程语音javascript已经支持websocket的客户端编程。
客户端编程围绕着websocket对象展开,在javascript中可以通过如下代码初始化websocket对象:
var socket=new websocket(url);
在代码中只需给websocket构造函数传入服务器的url地址,比如http://mysite.com/point.
可以为该对象的如下事件指定处理函数以相应它们:
websocket.onopen:此事件发生在websocket链接建立时。
websocket.onmessage:此事件发生在收到了来自服务器的消息时。
websocket.onerror:此事件发生在通信过程中有任何错误时。
websocket.onclose:此事件发生在服务器的链接关闭时。
除了这些事件处理函数,还可以通过websocket对象的两个方法进行主动操作:
websocket.send(data):向服务器发送消息。
websocket.close():主动关闭现有链接。
客户端websocket编程实例程序如下:index.html
<!doctype html><html lang="en"><head> <meta charset="utf-8"> <title>websocket</title></head><body><a href="javascript:websockettest()">运行websocket</a><p id="messages" style="height: 200px;background: black;color:white"></p></body><script type="text/javascript"> var messagecontainer=document.getelementbyid(messages); function websockettest() { if(websocket in window){ messagecontainer.innerhtml=浏览器支持websocket; var ws=new websocket(ws://localhost:8888/websocket?id=12345); ws.onopen=function () { ws.send(onopen) }; ws.onmessage=function (evt) { var received_msg=evt.data; messagecontainer.innerhtml=messagecontainer.innerhtml+<br/>收到的信息:+received_msg; } ws.onclose=function () { messagecontainer.innerhtml=messagecontainer.innerhtml+<br/> 连接关闭了; } }else{ messagecontainer.innerhtml=浏览器不支持websocket } }</script></html>
对上述代码解析如下:
客户端页面主体是有两部分组成:一个run websocket链接用于让用户启动websocket;另一个id=message的<p>标签用于显示服务器端的消息。
使用javascript语句if(websocket in window)可以判断当前浏览器是否支持websocket对象。
如何浏览器支持websocket对象,则定义实例ws链接到服务器的websocket地址,并传入自己的标识符参数。然后通过js语法定义事件:onopen、onmessage、onclose的处理函数。除了在onopen事件中客户端向服务器用websocket.send()函数发送了消息,其余事件均只将事件结果显示在页面<p>标签中。
运行效果如下:
以上就是python中tornado下websocket客户端编程的介绍的详细内容。
