aiohttp的sockjs服务器实现。

sockjs的Python项目详细描述


https://secure.travis-ci.org/aio-libs/sockjs.svg

sockjs是 aiohttp。SockJS接口 实现为aiohttp路由。它有可能创造出任何数字 不同的sockjs路径,即/sockjs/*/mycustom sockjs/*。您可以提供不同的会话实现 以及每个sockjs路由的管理。

需要简单的aiohttp web服务器:

[server:main]
use = egg:gunicorn#main
host = 0.0.0.0
port = 8080
worker = aiohttp.worker.GunicornWebWorker

Sockjs路由示例:

def main(global_settings, **settings):
    app = web.Application(loop=loop)
    app.router.add_route('GET', '/', index)
    sockjs.add_endpoint(app, prefix='/sockjs', handler=chatSession)

    handler = app.make_handler()
    srv = loop.run_until_complete(
        loop.create_server(handler, '127.0.0.1', 8080))
    print("Server started at http://127.0.0.1:8080")
    try:
        loop.run_forever()
     except KeyboardInterrupt:
        srv.close()
        loop.run_until_complete(handler.finish_connections())

客户端代码:

<script src="//cdn.jsdelivr.net/sockjs/0.3.4/sockjs.min.js"></script>
<script>
    var sock = new SockJS('http://localhost:8080/sockjs');

    sock.onopen = function() {
      console.log('open');
    };

    sock.onmessage = function(obj) {
      console.log(obj);
    };

    sock.onclose = function() {
      console.log('close');
    };
</script>

支持的传输

要求

示例

您可以在github的sockjs存储库中找到几个示例。

https://github.com/aio-libs/sockjs/tree/master/examples

许可证

Sockjs是在Apache2许可下提供的。

变化

0.9.1(2018-12-04)

  • 小代码样式清理

0.9.0(2018-10-11)

  • 支持Python3.7。最低可用的python版本是3.5.3(240)

0.8.0(2018-06-15)

  • 固定心跳(214)

0.7.1(2018-03-05)

  • 再次修复与aiohttp 3.0+的兼容性。

0.7.0(2018-02-25)

  • 与aiohttp 3.0+的固定兼容性(169)

0.6(2017-04-13)

  • aiohttp 2.0+的固定支持。

0.5(2016-09-26)

  • 将sockjsroute.handler和sockjsroute.websocket标记为协同路由。#25
  • 删除“原点”标题12的复选框
  • 处理帧消息blob消息类型12

0.4(2016-02-04)

  • 修正了sockjs.transports.websocket.websockettransport中的丢失事件循环参数
  • 修正了sockjs.transports.rawwebsocket.rawwebsockettransport中的丢失事件循环参数
  • 修复了rawrequestMessage。添加raw_header参数(aiohttp 0.21+)
  • 修复了许多警告
  • 修正了sockjs.route添加没有名称错误的端点

0.3(2015-08-07)

  • 修复了SessionManager.aquire()-的调用,删除了不必要的第二个参数。
  • 修正了一次cors_headers()调用中的错误参数。
  • 修正了许多错误。代码并不完美,但至少它能正常工作。

0.2(2015-07-07)

  • 固定包装

0.1.0(2015-06-21)

  • 初始版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java传递位置作为FragmentPagerAdapter中片段的参数   html Java Jsoup循环打印   java如何使用FileOutputStream写入数据而不丢失旧数据?   java在测试用例类/方法中执行sql before/after/in   java在javafx中注册鼠标处理程序,但处理程序不是内联的   Android嵌入了一个C++库的java代码,不需要TopPLE程序来嵌入它?   片段类内部的java ProgressBar导致setMax方法出现NullPointerException?   带有google app engine的java Activator Play框架   java如何解析星级而不是字符串?   java如何在基本实体中定义通用主键字段?   通过扩展实现Java克隆   使用CipherOutputStream的java递归加密提供一个空字节[]   在运行时提取字段值的Java服务   Java 11和spring boot从spring boot应用程序的fat jar中的依赖项jar加载资源   java尝试使用J2SE枚举所有可用的Wifi网络   使用Java库进行SWIFT MT消息解析   java拆分非逗号分隔的字符串   java为什么toString()不能是静态方法?   java在连接到集群数据库时遇到mongo异常   java访问Hashmap中存储的json有效负载值