【发布时间】:2012-11-08 23:22:57
【问题描述】:
我正在开发与 django.socketio 的聊天。我想跟踪在套接字上发送的消息,以便在新用户到来时呈现它。我想让他看到在他到达之前发送的消息。
我的代码很简单:
模板:
<script>
var url = window.location.pathname.split('/');
var id = url[3];
var socket = new io.Socket();
socket.connect();
socket.on('connect', function(context){
socket.subscribe('channel-' + id)
});
socket.on('message', function(data){
$('.try').prepend('<div> '+val+' </div>');
});
function send(){
var val = $('#text').val();
data = val
socket.send(data);
};
</script>
html:
<form id="form" onsubmit="send(); return false">
<input type="text" id="text">
<input type="submit" value="Send">
</form>
<div class="try"> </div>
events.py:
@events.on_message(channel='^channel-')
def messages(request, socket, context, message):
socket.send_and_broadcast_channel(message)
在这个简单的聊天中,使用不同的频道,我想跟踪发送的消息(针对每个频道)并在用户第一次连接时呈现。
我正在寻找有关如何做到这一点的提示。
非常感谢。
【问题讨论】:
-
不过你应该升级到 gevent-socketio.. 我认为 django-socketio 已被弃用,取而代之的是前者
标签: django sockets websocket socket.io gevent