微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

立即断开 gevent-websocket代码:1005,原因:“”

如何解决立即断开 gevent-websocket代码:1005,原因:“”

我用 wscat 测试了下面这个简单的 websocket 服务器,但它没有监听就立即断开连接。

这是代码(main.py)。

python pip install kivy

然后我尝试了

let lastKNownScrollPosition = 0;
let ticking = false;

function doSomething(scrollPos) {
  // Do something with the scroll position
}

document.addEventListener('scroll',function(e) {
  lastKNownScrollPosition = window.scrollY;

  if (!ticking) {
    window.requestAnimationFrame(function() {
      doSomething(lastKNownScrollPosition);
      ticking = false;
    });

    ticking = true;
  }
});

结果如下,没有任何提示

import 'dart:collection';

import 'package:Flutter/material.dart';

class TestStacking extends StatefulWidget {
  Queue<Widget> stackChildren = new Queue<Widget>();

  @override
  _TestStackingState createState() => _TestStackingState();
}

class _TestStackingState extends State<TestStacking> {

  void _addChild() {
    int position = widget.stackChildren.length;
    Widget child = Card(
      color: Colors.blue,child: Text(
        "This card is in position $position",style: TextStyle(fontSize: 30),),);
    setState(() {
      widget.stackChildren.addLast(child);
    });
  }

  void _removeChild() {
    setState(() {
      widget.stackChildren.removeFirst();
    });
  }

  @override
  void initState() {
    _addChild();
    _addChild();
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return Column(
        children: [
          Expanded(
            child: TextButton(
              onpressed: () {
                _addChild();
                _removeChild();
              },child: Text(
                "Add Child",Expanded(
            child: Stack(
              children: widget.stackChildren.toList(),],);
  }
}

这是我的环境。

# -*- coding: utf-8 -*-

from geventwebsocket.handler import WebSocketHandler
from gevent.pywsgi import WsgiServer
from flask import Flask,request
from werkzeug.exceptions import abort

app = Flask(__name__)

@app.route('/echo')
def echo():
    ws = request.environ['wsgi.websocket']
    if not ws:
        abort(400)
    while True:
        message = ws.receive()
        ws.send(message)

if __name__ == '__main__':
    http_server = WsgiServer(('',5000),app,handler_class=WebSocketHandler)
    http_server.serve_forever()

问题和解决方法是什么?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。