gpt4 book ai didi

javascript - 如何将 Websockets 与 Pyramid 和 socket.io 一起使用?

转载 作者:数据小太阳 更新时间:2023-10-29 05:55:50 26 4
gpt4 key购买 nike

我正在尝试使用 Pyramid 和 socket.io 框架创建一个简单的 WebSocket 应用程序。服务器端代码:

from pyramid.response import Response
from pyramid_socketio.io import SocketIOContext, socketio_manage
import gevent

def includeme(config):
'''
This method is called on the application startup.
'''
config.add_route('socket.io', 'socket.io/*remaining')

class ConnectIOContext(SocketIOContext):
# self.io is the Socket.IO socket
# self.request is the request
def msg_connect(self, msg):
print "Connect message received", msg
self.msg("connected", hello="world")

# Socket.IO implementation
@view_config(route_name="socket.io")
def socketio_service(request):
print "Socket.IO request running"
print request
retval = socketio_manage(ConnectIOContext(request))
return Response(retval)

客户端代码:

<script>
var socket = null;
$(document).ready(function() {
socket = new io.Socket(null, null);
socket.on('connect', function() {
console.log("Connected");
socket.send({type: "connect", userid: 123});
});
socket.on('message', function(obj) {
console.log("Message received");
console.log("Message", JSON.stringify(obj));
if (obj.type == "some") {
console.log("do some");
}
});
socket.on('error', function(obj) {
console.log("Error", JSON.stringify(obj));
});
socket.on('disconnect', function() {
console.log("Disconnected");
});

console.log("Connecting...");
socket.connect();
});
</script>

我需要这段代码来使用网络套接字进行连接,但它会回退到 XHR 轮询。我该如何解决?

提前致谢,伊万。

最佳答案

您可能想查看最新版本的 gevent-socketio 及其文档,网址为 http://gevent-socketio.readthedocs.org/

John Anderson、Sébastien Béal 和我在 PyCon 2012 冲刺中完成了一次重大改革。

关于javascript - 如何将 Websockets 与 Pyramid 和 socket.io 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9738009/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com