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.
Andrew On Tue, Feb 21, 2017 at 11:46 AM, Nikoleta Misheva <[email protected]> wrote: > 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? >> >> Andrew >> >> On Tue, Feb 21, 2017 at 12:27 AM, Nikoleta Misheva <[email protected]> >> 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 disconnects >>> >>> My consumer: >>> >>> @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, }), >>> }) >>> The JS: >>> >>> $(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() >>> }))}) >>> >>> }); >>> What might be the cause? >>> >>> >>> >>> -- >>> 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 [email protected]. >>> To post to this group, send email to [email protected]. >>> Visit this group at https://groups.google.com/group/django-users. >>> To view this discussion on the web visit https://groups.google.com/d/ms >>> gid/django-users/301c0b6a-822b-46b5-b7b6-72263786361f%40googlegroups.com >>> <https://groups.google.com/d/msgid/django-users/301c0b6a-822b-46b5-b7b6-72263786361f%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> 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 [email protected]. > To post to this group, send email to [email protected]. > 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/9b7feff4-4f60-48bc-a6bf-b2ab6891658a%40googlegroups.com > <https://groups.google.com/d/msgid/django-users/9b7feff4-4f60-48bc-a6bf-b2ab6891658a%40googlegroups.com?utm_medium=email&utm_source=footer> > . > > 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 [email protected]. To post to this group, send email to [email protected]. 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/CAFwN1upqUfSZUkhT%2Bzq%2BWR6JKOdFR1%3D8rZLEFH3Wdc6wkq2O-w%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.

