我最近尝试创建注释并通过websocket将其删除,并成功做到了这一点,但是当我将两者一起使用时,只有其中一个的作用类似于仅删除注释。
我已经使用多个websocket来做到这一点:
var socket_create = 'ws://' + window.location.host + '/create_comment'
var socket_delete = 'ws://' + window.location.host + '/delete_comment'
var socket1 = new ReconnectingWebSocket(socket_create)
var socket2 = new ReconnectingWebSocket(socket_delete)
答案 0 :(得分:0)
嗯,我认为使用两个WebSocket实在是太过分了。您只能使用一个,并在消息级别实现create_comment
和delete_comment
。
例如:
var crud_socket = new ReconnectingWebSocket(socket_url);
crud_socket.onmessage = function(event) {
// Assuming here you're using json.
var data = JSON.parse(even.data)
action = data.action;
if (action === 'delete') {
// delete here ...
}
if action === 'create' {
// create here ...
}
}
记住您正在使用Django ...
...因此您可以遵循以下模式:
使用WebSockets通知客户端(浏览器)服务器中刚发生的某些事件,创建了对象,删除了对象,某些任务已完成,等等...
如果要执行CRUD操作,只需向Django视图发出AJAX请求。因此,遵循此模式,创建消息应如下所示:
Message
的实例(或您为实现消息而实现的任何模型)。