私は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)
この簡単なチャットでは、さまざまなチャネルを使用して、(チャネルごとに)送信されたメッセージを追跡し、ユーザーが最初に接続したときにそれをレンダリングしたいと思います。
その方法のヒントを探しています。
どうもありがとうございます。