Socket.io在连接事件上调用ack

时间:2017-08-04 21:44:49

标签: javascript node.js sockets socket.io

有没有办法在Node.js中的connect事件中使用ack参数?像这样:

BREAK.ON

ack参考:https://socket.io/docs/server-api/#socket-emit-eventname-args-ack

2 个答案:

答案 0 :(得分: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');
});

答案 1 :(得分: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');
});