簡體   English   中英

socketio:客戶端沒有收到消息

[英]socketio: client is not receiving message

我正在測試 socketio 以構建一個具有多個頻道的小型聊天應用程序。 我設法將數據從客戶端發送到服務器。 並且服務器正在發回該通道已創建。 但是我的客戶沒有收到消息。 任何想法?

客戶端代碼:除了“channel_already_exists”和“channel_created”這兩個事件之外,一切都運行良好。 服務器正在發送這些事件,但客戶端似乎沒有收到它們,因為我的控制台中沒有出現任何內容。

document.addEventListener('DOMContentLoaded', () => {

  // Connect to websocket
  var socket = io.connect(location.protocol + '//' + document.domain + ':' + location.port);

  // When connected, the user can register his username
  socket.on('connect', () => {

    document.getElementById('new_channel').hidden = true;

    if (localStorage.username) {
      socket.emit('register', {'username': localStorage.username});
    } else {
        document.getElementById('registration').onsubmit = () => {
          const username = document.getElementById('username').value;
          localStorage.setItem('username', username);
          socket.emit('register', {'username': username});
        };
    }
  });

  socket.on('registered', () => {
    const username = localStorage.username;
    document.getElementById('registration').innerHTML = '';
    document.getElementById('new_channel').hidden = false;
    document.getElementById('welcome').innerHTML = `Welcome ${username}`;
  });

  document.getElementById('new_channel').onsubmit = () => {
    const channel_name = document.getElementById('channel_id').value;
    socket.emit('new_channel', {'channel_name': channel_name});
  };

  socket.on('channel_already_exists', () => {
    console.log('already exists');
    document.getElementById('channel_message').innerHTML = 'Channel already exists. Please select another name.';
  });

  socket.on('channel_created', channels => {
    console.log('channel created');
    document.getElementById('channel_message').innerHTML = 'Channel has been created.';
  });

});

FLask 上的服務器代碼:

import os
import requests

from flask import Flask, jsonify, render_template, request
from flask_socketio import SocketIO, emit

app = Flask(__name__)
app.config["SECRET_KEY"] = os.getenv("SECRET_KEY")
socketio = SocketIO(app)

users = set()
channels = {}

@app.route("/")
def index():
    not_registered = True
    return render_template("index.html")

#Register new user
@socketio.on("register")
def on_register(data):
    print("register")
    username = data["username"]
    users.add(username)
    emit("registered")

@socketio.on("new_channel")
def on_new_channel(data):
    print("new_channel")
    channel_name = data["channel_name"]
    if channel_name in channels:
        print("channel_already_exists")
        emit("channel_already_exists")
    else:
        #create a new empty channel
        print("new_channel_created")
        channels[channel_name] = ""
        emit('channel_created', channels)

我嘗試創建新頻道時的客戶端日志(即提交“new_channel”時)

engine.io-client:socket socket error {"type":"TransportError"} +5s
socket.io.min.js (2,5342)

socket.io-client:manager error +5s Error: xhr poll error

engine.io-client:socket socket close with reason: "transport error" +1ms
socket.io.min.js (2,5342)

engine.io-client:polling transport open - closing +1ms
socket.io.min.js (2,5342)

engine.io-client:polling writing close packet +0ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr open POST: http://127.0.0.1:5000/socket.io/?EIO=3&transport=polling&t=1574762262046-2&sid=6108efcd5e754d6c9befdcf33af618ed +0ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr data 1:1 +1ms
socket.io.min.js (2,5342)

socket.io-client:manager close +3ms
socket.io.min.js (1,13697)

socket.io-client:socket close (transport error) +5s
socket.io.min.js (1,13697)

socket.io-client:manager will wait 770ms before reconnect attempt +1ms
socket.io.min.js (1,13697)

socket.io-client:manager attempting reconnect +789ms
socket.io.min.js (1,13697)

socket.io-client:manager readyState closed +0ms
socket.io.min.js (1,13697)

socket.io-client:manager opening http://127.0.0.1:5000 +0ms
socket.io.min.js (1,13697)

engine.io-client:socket creating transport "polling" +791ms
socket.io.min.js (2,5342)

engine.io-client:polling polling +1ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr poll +0ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr open GET: http://127.0.0.1:5000/socket.io/?EIO=3&transport=polling&t=1574762262840-3 +1ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr data null +0ms

engine.io-client:socket setting transport polling +0ms
socket.io.min.js (2,5342)

socket.io-client:manager connect attempt will timeout after 20000 +2ms
socket.io.min.js (1,13697)

engine.io-client:socket socket error {"type":"TransportError"} +1s
socket.io.min.js (2,5342)

socket.io-client:manager connect_error +1s
socket.io.min.js (1,13697)

socket.io-client:manager reconnect attempt error +0ms
socket.io.min.js (1,13697)

socket.io-client:manager will wait 1902ms before reconnect attempt +1ms
socket.io.min.js (1,13697)

engine.io-client:socket socket close with reason: "transport error" +1ms
socket.io.min.js (2,5342)

engine.io-client:polling transport not open - deferring close +1ms
socket.io.min.js (2,5342)

socket.io-client:manager attempting reconnect +1s
socket.io.min.js (1,13697)

socket.io-client:manager readyState closed +0ms
socket.io.min.js (1,13697)

socket.io-client:manager opening http://127.0.0.1:5000 +0ms
socket.io.min.js (1,13697)

engine.io-client:socket creating transport "polling" +2s
socket.io.min.js (2,5342)

engine.io-client:polling polling +1ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr poll +0ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr open GET: http://127.0.0.1:5000/socket.io/?EIO=3&transport=polling&t=1574762265792-4 +0ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr data null +1ms

engine.io-client:socket setting transport polling +0ms
socket.io.min.js (2,5342)

socket.io-client:manager connect attempt will timeout after 20000 +3ms
socket.io.min.js (1,13697)

engine.io-client:polling polling got data [object ArrayBuffer] +13ms

engine.io-client:socket socket receive: type "open", data "{"sid":"ca6c4332a9f347eab56882912b70a309","upgrades":[],"pingTimeout":60000,"pingInterval":25000}" +1ms
socket.io.min.js (2,5342)

engine.io-client:socket socket open +1ms
socket.io.min.js (2,5342)

socket.io-client:manager open +15ms
socket.io.min.js (1,13697)

socket.io-client:socket transport is open - connecting +3s
socket.io.min.js (1,13697)

socket.io-client:manager reconnect success +1ms
socket.io.min.js (1,13697)

engine.io-client:socket starting upgrade probes +1ms
socket.io.min.js (2,5342)

engine.io-client:socket socket receive: type "message", data "0" +0ms
socket.io.min.js (2,5342)

socket.io-parser decoded 0 as %j +8s [object Object]

connect
index.js (11,5)

engine.io-client:polling polling +2ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr poll +0ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr open GET: http://127.0.0.1:5000/socket.io/?EIO=3&transport=polling&t=1574762265812-5&sid=ca6c4332a9f347eab56882912b70a309 +1ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr data null +0ms

socket.io-client:manager writing packet %j +5s [object Object]

socket.io-parser encoding packet %j +5s [object Object]

socket.io-parser encoded %j as [object Object] +0ms 2["register",{"username":"goeland"}]

engine.io-client:socket flushing 1 packets in socket +5s
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr open POST: http://127.0.0.1:5000/socket.io/?EIO=3&transport=polling&t=1574762271133-6&sid=ca6c4332a9f347eab56882912b70a309 +0ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr data 37:42["register",{"username":"goeland"}] +0ms
socket.io.min.js (2,5342)

HTML1300: Une navigation s’est produite.
127.0.0.1:5000 (1,1)

socket.io-client:url parse http://127.0.0.1:5000 +0ms
socket.io.min.js (1,13697)

socket.io-client new io instance for http://127.0.0.1:5000 +0ms
socket.io.min.js (1,13697)

socket.io-client:manager readyState closed +0ms
socket.io.min.js (1,13697)

socket.io-client:manager opening http://127.0.0.1:5000 +0ms
socket.io.min.js (1,13697)

engine.io-client:socket creating transport "polling" +0ms
socket.io.min.js (2,5342)

engine.io-client:polling polling +2ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr poll +1ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr open GET: http://127.0.0.1:5000/socket.io/?EIO=3&transport=polling&t=1574762271323-0 +0ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr data null +0ms

engine.io-client:socket setting transport polling +1ms
socket.io.min.js (2,5342)

socket.io-client:manager connect attempt will timeout after 20000 +4ms
socket.io.min.js (1,13697)

socket.io-client:manager readyState opening +0ms
socket.io.min.js (1,13697)

engine.io-client:polling polling got data [object ArrayBuffer] +46ms

engine.io-client:socket socket receive: type "open", data "{"sid":"ccc77d7deda843fa8a846527cb19e4db","upgrades":[],"pingTimeout":60000,"pingInterval":25000}" +3ms
socket.io.min.js (2,5342)

engine.io-client:socket socket open +1ms
socket.io.min.js (2,5342)

socket.io-client:manager open +50ms
socket.io.min.js (1,13697)

socket.io-client:socket transport is open - connecting +0ms
socket.io.min.js (1,13697)

engine.io-client:socket starting upgrade probes +0ms
socket.io.min.js (2,5342)

engine.io-client:socket socket receive: type "message", data "0" +1ms
socket.io.min.js (2,5342)

socket.io-parser decoded 0 as %j +0ms [object Object]

connect
index.js (11,5)

socket.io-client:manager writing packet %j +3ms [object Object]

socket.io-parser encoding packet %j +1ms [object Object]

socket.io-parser encoded %j as [object Object] +0ms 2["register",{"username":"goeland"}]

engine.io-client:socket flushing 1 packets in socket +2ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr open POST: http://127.0.0.1:5000/socket.io/?EIO=3&transport=polling&t=1574762271378-1&sid=ccc77d7deda843fa8a846527cb19e4db +1ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr data 37:42["register",{"username":"goeland"}] +1ms
socket.io.min.js (2,5342)

engine.io-client:polling polling +0ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr poll +0ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr open GET: http://127.0.0.1:5000/socket.io/?EIO=3&transport=polling&t=1574762271379-2&sid=ccc77d7deda843fa8a846527cb19e4db +1ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr data null +0ms

engine.io-client:polling polling got data [object ArrayBuffer] +36ms

engine.io-client:socket socket receive: type "message", data "2["registered",null]" +2ms
socket.io.min.js (2,5342)

socket.io-parser decoded 2["registered",null] as %j +41ms [object Object]

socket.io-client:socket emitting event %j +44ms registered,

registered
index.js (26,5)

engine.io-client:polling polling +3ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr poll +1ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr open GET: http://127.0.0.1:5000/socket.io/?EIO=3&transport=polling&t=1574762271422-3&sid=ccc77d7deda843fa8a846527cb19e4db +0ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr data null +1ms

new_channel
index.js (34,5)

socket.io-client:manager writing packet %j +5s [object Object]

socket.io-parser encoding packet %j +5s [object Object]

socket.io-parser encoded %j as [object Object] +0ms 2["new_channel",{"channel_name":"channel 3"}]

engine.io-client:socket flushing 1 packets in socket +5s
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr open POST: http://127.0.0.1:5000/socket.io/?EIO=3&transport=polling&t=1574762276888-4&sid=ccc77d7deda843fa8a846527cb19e4db +1ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr data 46:42["new_channel",{"channel_name":"channel 3"}] +1ms
socket.io.min.js (2,5342)

HTML1300: Une navigation s’est produite.
127.0.0.1:5000 (1,1)

socket.io-client:url parse http://127.0.0.1:5000 +0ms
socket.io.min.js (1,13697)

socket.io-client new io instance for http://127.0.0.1:5000 +0ms
socket.io.min.js (1,13697)

socket.io-client:manager readyState closed +0ms
socket.io.min.js (1,13697)

socket.io-client:manager opening http://127.0.0.1:5000 +0ms
socket.io.min.js (1,13697)

engine.io-client:socket creating transport "polling" +0ms
socket.io.min.js (2,5342)

engine.io-client:polling polling +1ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr poll +0ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr open GET: http://127.0.0.1:5000/socket.io/?EIO=3&transport=polling&t=1574762277050-0 +0ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr data null +1ms

engine.io-client:socket setting transport polling +0ms
socket.io.min.js (2,5342)

socket.io-client:manager connect attempt will timeout after 20000 +3ms
socket.io.min.js (1,13697)

socket.io-client:manager readyState opening +0ms
socket.io.min.js (1,13697)

0: Unable to get property 'SavePersonalAndPaymentData' of undefined or null reference
Autoformfill_ContentScript.js (1,1)

engine.io-client:polling polling got data [object ArrayBuffer] +43ms

engine.io-client:socket socket receive: type "open", data "{"sid":"0409f655ccc642f68322c4a9f64c3b66","upgrades":[],"pingTimeout":60000,"pingInterval":25000}" +2ms
socket.io.min.js (2,5342)

engine.io-client:socket socket open +0ms
socket.io.min.js (2,5342)

socket.io-client:manager open +46ms
socket.io.min.js (1,13697)

socket.io-client:socket transport is open - connecting +0ms
socket.io.min.js (1,13697)

engine.io-client:socket starting upgrade probes +1ms
socket.io.min.js (2,5342)

engine.io-client:socket socket receive: type "message", data "0" +0ms
socket.io.min.js (2,5342)

socket.io-parser decoded 0 as %j +0ms [object Object]

connect
index.js (11,5)

socket.io-client:manager writing packet %j +2ms [object Object]

socket.io-parser encoding packet %j +0ms [object Object]

socket.io-parser encoded %j as [object Object] +0ms 2["register",{"username":"goeland"}]

engine.io-client:socket flushing 1 packets in socket +2ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr open POST: http://127.0.0.1:5000/socket.io/?EIO=3&transport=polling&t=1574762277100-1&sid=0409f655ccc642f68322c4a9f64c3b66 +1ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr data 37:42["register",{"username":"goeland"}] +0ms
socket.io.min.js (2,5342)

engine.io-client:polling polling +1ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr poll +0ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr open GET: http://127.0.0.1:5000/socket.io/?EIO=3&transport=polling&t=1574762277101-2&sid=0409f655ccc642f68322c4a9f64c3b66 +0ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr data null +0ms

engine.io-client:polling polling got data [object ArrayBuffer] +41ms

engine.io-client:socket socket receive: type "message", data "2["registered",null]" +2ms
socket.io.min.js (2,5342)

socket.io-parser decoded 2["registered",null] as %j +45ms [object Object]

socket.io-client:socket emitting event %j +47ms registered,

registered
index.js (26,5)

engine.io-client:polling polling +3ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr poll +0ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr open GET: http://127.0.0.1:5000/socket.io/?EIO=3&transport=polling&t=1574762277148-3&sid=0409f655ccc642f68322c4a9f64c3b66 +1ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr data null +1ms

engine.io-client:socket writing ping packet - expecting pong within 60000ms +25s
socket.io.min.js (2,5342)

engine.io-client:socket flushing 1 packets in socket +1ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr open POST: http://127.0.0.1:5000/socket.io/?EIO=3&transport=polling&t=1574762302107-4&sid=0409f655ccc642f68322c4a9f64c3b66 +1ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr data 1:2 +0ms
socket.io.min.js (2,5342)

engine.io-client:polling polling got data [object ArrayBuffer] +17ms

engine.io-client:socket socket receive: type "pong", data "undefined" +1ms
socket.io.min.js (2,5342)

engine.io-client:polling polling +1ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr poll +0ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr open GET: http://127.0.0.1:5000/socket.io/?EIO=3&transport=polling&t=1574762302126-5&sid=0409f655ccc642f68322c4a9f64c3b66 +0ms
socket.io.min.js (2,5342)

engine.io-client:polling-xhr xhr data null +0ms

服務器日志:

C:\Users\rober\project2>flask run
 * Serving Flask app "application.py"
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: off
[2019-11-26 10:57:44,233] WARNING in __init__: Flask-SocketIO is Running under Werkzeug, WebSocket is not available.
Server initialized for threading.
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
Invalid session e0e081d67cbf4189b990c1dc103da589
127.0.0.1 - - [26/Nov/2019 10:57:44] "GET /socket.io/?EIO=3&transport=polling&t=1574762243279-331&sid=e0e081d67cbf4189b990c1dc103da589 HTTP/1.1" 400 -
f3cc277e7bec49c8b2eba1272d102a6c: Sending packet OPEN data {'sid': 'f3cc277e7bec49c8b2eba1272d102a6c', 'upgrades': [], 'pingTimeout': 60000, 'pingInterval': 25000}
f3cc277e7bec49c8b2eba1272d102a6c: Sending packet MESSAGE data 0
127.0.0.1 - - [26/Nov/2019 10:57:44] "GET /socket.io/?EIO=3&transport=polling&t=1574762264065-380 HTTP/1.1" 200 -
f3cc277e7bec49c8b2eba1272d102a6c: Received packet MESSAGE data 2["register",{"username":"robert"}]
received event "register" from f3cc277e7bec49c8b2eba1272d102a6c [/]
register
127.0.0.1 - - [26/Nov/2019 10:57:44] "POST /socket.io/?EIO=3&transport=polling&t=1574762264385-381&sid=f3cc277e7bec49c8b2eba1272d102a6c HTTP/1.1" 200 -
emitting event "registered" to f3cc277e7bec49c8b2eba1272d102a6c [/]
f3cc277e7bec49c8b2eba1272d102a6c: Sending packet MESSAGE data 2["registered",null]
127.0.0.1 - - [26/Nov/2019 10:57:44] "GET /socket.io/?EIO=3&transport=polling&t=1574762264393-382&sid=f3cc277e7bec49c8b2eba1272d102a6c HTTP/1.1" 200 -
Invalid session e0e081d67cbf4189b990c1dc103da589
127.0.0.1 - - [26/Nov/2019 10:57:45] "POST /socket.io/?EIO=3&transport=polling&t=1574762265345-332&sid=e0e081d67cbf4189b990c1dc103da589 HTTP/1.1" 400 -
ca6c4332a9f347eab56882912b70a309: Sending packet OPEN data {'sid': 'ca6c4332a9f347eab56882912b70a309', 'upgrades': [], 'pingTimeout': 60000, 'pingInterval': 25000}
ca6c4332a9f347eab56882912b70a309: Sending packet MESSAGE data 0
127.0.0.1 - - [26/Nov/2019 10:57:45] "GET /socket.io/?EIO=3&transport=polling&t=1574762265792-4 HTTP/1.1" 200 -
44e90573522c46f583a5811c21a2cf97: Sending packet OPEN data {'sid': '44e90573522c46f583a5811c21a2cf97', 'upgrades': [], 'pingTimeout': 60000, 'pingInterval': 25000}
44e90573522c46f583a5811c21a2cf97: Sending packet MESSAGE data 0
127.0.0.1 - - [26/Nov/2019 10:57:47] "GET /socket.io/?EIO=3&transport=polling&t=1574762267360-333 HTTP/1.1" 200 -
44e90573522c46f583a5811c21a2cf97: Received packet MESSAGE data 2["register",{"username":"robert"}]
received event "register" from 44e90573522c46f583a5811c21a2cf97 [/]
register
127.0.0.1 - - [26/Nov/2019 10:57:48] "POST /socket.io/?EIO=3&transport=polling&t=1574762267414-334&sid=44e90573522c46f583a5811c21a2cf97 HTTP/1.1" 200 -
emitting event "registered" to 44e90573522c46f583a5811c21a2cf97 [/]
44e90573522c46f583a5811c21a2cf97: Sending packet MESSAGE data 2["registered",null]
127.0.0.1 - - [26/Nov/2019 10:57:48] "GET /socket.io/?EIO=3&transport=polling&t=1574762267420-335&sid=44e90573522c46f583a5811c21a2cf97 HTTP/1.1" 200 -
ca6c4332a9f347eab56882912b70a309: Received packet MESSAGE data 2["register",{"username":"goeland"}]
received event "register" from ca6c4332a9f347eab56882912b70a309 [/]
register
127.0.0.1 - - [26/Nov/2019 10:57:51] "POST /socket.io/?EIO=3&transport=polling&t=1574762271133-6&sid=ca6c4332a9f347eab56882912b70a309 HTTP/1.1" 200 -
emitting event "registered" to ca6c4332a9f347eab56882912b70a309 [/]
ca6c4332a9f347eab56882912b70a309: Sending packet MESSAGE data 2["registered",null]
127.0.0.1 - - [26/Nov/2019 10:57:51] "GET /socket.io/?EIO=3&transport=polling&t=1574762265812-5&sid=ca6c4332a9f347eab56882912b70a309 HTTP/1.1" 200 -
127.0.0.1 - - [26/Nov/2019 10:57:51] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [26/Nov/2019 10:57:51] "GET /static/index.js HTTP/1.1" 200 -
ccc77d7deda843fa8a846527cb19e4db: Sending packet OPEN data {'sid': 'ccc77d7deda843fa8a846527cb19e4db', 'upgrades': [], 'pingTimeout': 60000, 'pingInterval': 25000}
ccc77d7deda843fa8a846527cb19e4db: Sending packet MESSAGE data 0
127.0.0.1 - - [26/Nov/2019 10:57:51] "GET /socket.io/?EIO=3&transport=polling&t=1574762271323-0 HTTP/1.1" 200 -
ccc77d7deda843fa8a846527cb19e4db: Received packet MESSAGE data 2["register",{"username":"goeland"}]
received event "register" from ccc77d7deda843fa8a846527cb19e4db [/]
register
127.0.0.1 - - [26/Nov/2019 10:57:51] "POST /socket.io/?EIO=3&transport=polling&t=1574762271378-1&sid=ccc77d7deda843fa8a846527cb19e4db HTTP/1.1" 200 -
emitting event "registered" to ccc77d7deda843fa8a846527cb19e4db [/]
ccc77d7deda843fa8a846527cb19e4db: Sending packet MESSAGE data 2["registered",null]
127.0.0.1 - - [26/Nov/2019 10:57:51] "GET /socket.io/?EIO=3&transport=polling&t=1574762271379-2&sid=ccc77d7deda843fa8a846527cb19e4db HTTP/1.1" 200 -
ccc77d7deda843fa8a846527cb19e4db: Received packet MESSAGE data 2["new_channel",{"channel_name":"channel 3"}]
received event "new_channel" from ccc77d7deda843fa8a846527cb19e4db [/]
127.0.0.1 - - [26/Nov/2019 10:57:56] "GET / HTTP/1.1" 200 -
new_channel
127.0.0.1 - - [26/Nov/2019 10:57:56] "POST /socket.io/?EIO=3&transport=polling&t=1574762276888-4&sid=ccc77d7deda843fa8a846527cb19e4db HTTP/1.1" 200 -
{}
new_channel_created {}
emitting event "channel_created" to ccc77d7deda843fa8a846527cb19e4db [/]
ccc77d7deda843fa8a846527cb19e4db: Sending packet MESSAGE data 2["channel_created","channel 3"]
127.0.0.1 - - [26/Nov/2019 10:57:56] "GET /socket.io/?EIO=3&transport=polling&t=1574762271422-3&sid=ccc77d7deda843fa8a846527cb19e4db HTTP/1.1" 200 -
127.0.0.1 - - [26/Nov/2019 10:57:56] "GET /static/index.js HTTP/1.1" 200 -
0409f655ccc642f68322c4a9f64c3b66: Sending packet OPEN data {'sid': '0409f655ccc642f68322c4a9f64c3b66', 'upgrades': [], 'pingTimeout': 60000, 'pingInterval': 25000}
0409f655ccc642f68322c4a9f64c3b66: Sending packet MESSAGE data 0
127.0.0.1 - - [26/Nov/2019 10:57:57] "GET /socket.io/?EIO=3&transport=polling&t=1574762277050-0 HTTP/1.1" 200 -
0409f655ccc642f68322c4a9f64c3b66: Received packet MESSAGE data 2["register",{"username":"goeland"}]
received event "register" from 0409f655ccc642f68322c4a9f64c3b66 [/]
register
127.0.0.1 - - [26/Nov/2019 10:57:57] "POST /socket.io/?EIO=3&transport=polling&t=1574762277100-1&sid=0409f655ccc642f68322c4a9f64c3b66 HTTP/1.1" 200 -
emitting event "registered" to 0409f655ccc642f68322c4a9f64c3b66 [/]
0409f655ccc642f68322c4a9f64c3b66: Sending packet MESSAGE data 2["registered",null]
127.0.0.1 - - [26/Nov/2019 10:57:57] "GET /socket.io/?EIO=3&transport=polling&t=1574762277101-2&sid=0409f655ccc642f68322c4a9f64c3b66 HTTP/1.1" 200 -

根據您包含的日志,問題是由您的應用程序中的錯誤設計引起的。

客戶端通過 web 表單請求創建新通道。 表單使用 GET 或 POST 請求提交數據,這會導致瀏覽器刪除當前頁面,然后重新加載表單提交請求響應附帶的頁面。 當瀏覽器重新加載頁面時,它會斷開所有連接,包括 Socket.IO 鏈接。 這就是您的客戶沒有收到由於此表單提交而出現的消息的原因。

我的建議是您將表單提交更改為使用 AJAX,以便瀏覽器將其作為后台請求發送,而不會導致頁面重新加載。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM