I tried it and it works fine, but as soon as I try to hang this to a button it disconnects, so this line
is the problem, if I send message without hanging it to a button submit function it is ok with or without JSON.stringify
сряда, 22 февруари 2017 г., 9:27:32 UTC+2, Andrew Godwin написа:
-- $('#arg_form').on('submit',function ()
is the problem, if I send message without hanging it to a button submit function it is ok with or without JSON.stringify
сряда, 22 февруари 2017 г., 9:27:32 UTC+2, Andrew Godwin написа:
Then you need to add more and more back until it does disconnect and you should be able to find the line that's doing it!AndrewOn Tue, Feb 21, 2017 at 11:03 PM, Nikoleta Misheva <nith...@gmail.com> wrote:I tried the simplest example and it works fine and does not disconnect.--And using the JS console
def websocket_receive(message):
text = message.content.get('text')
if text:
message.reply_channel.send({"text" : "You said: {}".format(text)})
socket = new WebSocket("ws://" + window.location.host + "/chat/");
socket.onmessage = function(e) {
alert(e.data);
}
socket.onopen = function() {
socket.send("hello world");
}сряда, 22 февруари 2017 г., 3:08:09 UTC+2, Andrew Godwin написа:I'm afraid I don't really know what's going on then - the logs don't reveal very much. I'd try reducing it down to simpler code until you can replicate it in only a few lines and work from there.AndrewOn Tue, Feb 21, 2017 at 11:46 AM, Nikoleta Misheva <nith...@gmail.com> wrote:To view this discussion on the web visit https://groups.google.com/d/I don't know how to get the close code. It disconnects right after you hit the send button but it manages to send the message, I had prints and the message was right and etc but was always after disconnect. My disconnect function basically deletes the room. And python's console logs:--
[2017/02/21 21:42:50] WebSocket DISCONNECT /play [127.0.0.1:65273]
[2017/02/21 21:42:50] WebSocket HANDSHAKING /play [127.0.0.1:65282]It reconnects.
вторник, 21 февруари 2017 г., 20:45:13 UTC+2, Andrew Godwin написа:How does it disconnect? What WebSocket close code do you get? (You'll need to add JS to log it) What prints on the Python console?AndrewOn Tue, Feb 21, 2017 at 12:27 AM, Nikoleta Misheva <nith...@gmail.com> wrote:When I send message the websocket disconnects. I am able to get the message, but I can't proceed further since disconnect is supposed to delete the room. I tested it with basic prints after every statement and it disconnects right after the receiver gets the message because everything that is in ws_receive is printed after it disconnectsMy consumer:The JS:
@channel_session_user
def ws_receive(message):
username = message.user.username
text = json.loads(message['text']).get ('text')
# Use my algorithm here
score = score_argument.get_rating(text)
# find the room with our users
# print(type(username))
# print(username)
current_room = get_object_or_404(PairUsers, Q(username_a=username) | Q(username_b=username))
# current_room = PairUsers.objects.filter(Q(username_a=username) | Q(username_b=username)).first( )
# check which user you got and send the message to the other
if current_room.username_b == username:
current_room.score_b = score
other_channel = Channel(current_room.reply_channel_a )
message.reply_channel.send({'text' : json.dumps({
"message": text,
"user": username, }),
})
message.reply_channel.send({'text' : json.dumps({
"score": score,
"user": username, }),
})
other_channel.send({'text': json.dumps({
"message": text,
"user": username, }),
})
other_channel.send({'text': json.dumps({
"score": score,
"user": username, }),
})
else:
current_room.score_a = score
other_channel = Channel(current_room.reply_channel_b )
message.reply_channel.send({'text' : json.dumps({
"message": text,
"user": username, }),
})
message.reply_channel.send({'text' : json.dumps({
"score": score,
"user": username, }),
})
other_channel.send({'text': json.dumps({
"message": text,
"user": username, }),
})
other_channel.send({'text': json.dumps({
"score": score,
"user": username, }),
})What might be the cause?
$(function () {
// Correctly decide between ws:// and wss://
var ws_scheme = window.location.protocol == "https:" ? "wss" : "ws";
var ws_path = ws_scheme + '://' + window.location.host + window.location.pathname;
console.log("Connecting to " + ws_path);
var socket = new ReconnectingWebSocket(ws_path);
socket.onmessage = function(message){
var data = JSON.parse(message.data);
if(!data.score){
var element = $([
"<tr>",
"<td>" + data.message + "</td>",
"<td>",
"<div class='center-block'>" + data.user + "</div>",
"</td>",
"</tr>"
].join("\n"));
$("#chat_table tbody").append(element);
}
else {
var element = $([
"<tr>",
"<td>" + data.user + "'s score is:" + data.score + "</td>",
"</tr>"
].join("\n"));
$("#chat_table tbody").append(element);
}
}
$('#arg_form').on('submit',function () {
socket.send(JSON.stringify({
"text": $('#argument').val()
}))})
});To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.--
You received this message because you are subscribed to the Google Groups "Django users" group.com .
To post to this group, send email to django...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users .
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/301c0b6a- .822b-46b5-b7b6-72263786361f% 40googlegroups.com
For more options, visit https://groups.google.com/d/optout .
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com .
To post to this group, send email to django...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users .msgid/django-users/9b7feff4- .4f60-48bc-a6bf-b2ab6891658a% 40googlegroups.com
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users...@googlegroups.com .
To post to this group, send email to django...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users .
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/7255e2aa- .565c-4446-b4d7-8cdb8bd884c5% 40googlegroups.com
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/36e3b1d8-6eee-48f1-87d4-ec7ebbafd57f%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
No comments:
Post a Comment