2017-08-04 22 views

答えて

1

socket.connect()またはsocket.open()メソッドはack引数を取るようには見えません。私は一般に、クライアントからの接続が確立されると、サーバーから「接続済み」イベントを出します。この排出量を受け取り、必要に応じて行動を追加することができます。

server.js

io.on('connect', function(socket) { 
    socket.emit('connected'); 
}); 

client.jsあり

socket.on('connected', function() { 
    console.log('Connected'); 
}); 
+0

は本当にクライアントに 'connected'イベントを送信する理由はありません。クライアントにはすでにこのようなイベントがあります。接続時にメッセージを送信する主な理由は、接続直後にクライアントにデータを送信する場合です。クライアントに現在接続されていることを伝える必要はありません。これはsocket.ioフレームワークがすでに実行しています。 – jfriend00

1

あなたはconnectイベントを送ることができる具体的なACKデータはありません。サーバーが接続を受け取ると、クライアントにメッセージを送信するのは.emit()になります。

//client.js 
socket.on('connect',() => { 
    console.log('client connected'); 
}); 

socket.on('welcome', function(data) { 
    console.log(data); // 'lol' 
}); 

//server.js 
io.on('connect', (socket) => { 
    // send welcome message upon connect 
    socket.emit('welcome', 'lol'); 
}); 
関連する問題