| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
dwd4
10年前发布

Python的Websocket客户端:Websocket-Client

Websocket-Client 是 Python 上的 Websocket 客户端。它只支持 hybi-13,且所有的 Websocket API 都支持同步。

Installation

This module is tested on Python 2.7 and Python 3.x.

Type "python setup.py install" or "pip install websocket-client" to install.

Caution!

from v0.16.0, we can install by "pip install websocket-client" for python 3.

This module depend on

  • six
  • backports.ssl_match_hostname for Python 2.x

How about Python 3

Now, we support python 3 on single source code from version 0.14.0. Thanks, @battlemidget and @ralphbean.

HTTP Proxy

Support websocket access via http proxy. The proxy server must allow "CONNECT" method to websocket port. Default squid setting is "ALLOWED TO CONNECT ONLY HTTPS PORT".

Current implementation of websocket-client is using "CONNECT" method via proxy.

example:

import websocket  ws = websocket.WebSocket()  ws.connect("ws://example.com/websocket", http_proxy_host="proxy_host_name", http_proxy_port=3128)  :

Example

Low Level API example:

from websocket import create_connection  ws = create_connection("ws://echo.websocket.org/")  print "Sending 'Hello, World'..."  ws.send("Hello, World")  print "Sent"  print "Reeiving..."  result =  ws.recv()  print "Received '%s'" % result  ws.close()

If you want to customize socket options, set sockopt.

sockopt example:

from websocket import create_connection  ws = create_connection("ws://echo.websocket.org/",                          sockopt=((socket.IPPROTO_TCP, socket.TCP_NODELAY),))

JavaScript websocket-like API example:

import websocket  import thread  import time    def on_message(ws, message):      print message    def on_error(ws, error):      print error    def on_close(ws):      print "### closed ###"    def on_open(ws):      def run(*args):          for i in range(3):              time.sleep(1)              ws.send("Hello %d" % i)          time.sleep(1)          ws.close()          print "thread terminating..."      thread.start_new_thread(run, ())      if __name__ == "__main__":      websocket.enableTrace(True)      ws = websocket.WebSocketApp("ws://echo.websocket.org/",                                on_message = on_message,                                on_error = on_error,                                on_close = on_close)      ws.on_open = on_open      ws.run_forever()

项目主页:http://www.open-open.com/lib/view/home/1427876600225

 本文由用户 dwd4 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!
 本文地址:https://www.open-open.com/lib/view/open1427876600225.html
WebSocket 开发 Websocket-Client