我有 socket.emit
从客户端调用到服务器作为响应我希望客户端的文件名没有发生在下面的代码中不确定什么是错误的任何想法,我没有看到任何错误。如何使用 socket.emit
从服务器获取响应?
client.js
socket.emit('startRecording',function (response) {
console.log('start recording emit response',response);
});
server.js
socket.on('startRecording',function () {
var response;
logsRecording(function (filename) {
response = filename;
return response;
//socket.emit('filename',filename);
});
最佳答案
要确认消息,startRecording
事件的处理程序需要接受确认回调作为参数。然后,您可以使用所需的数据调用它。见 Sending and getting data (acknowledgements)
socket.on('startRecording',function (socket, ackFn) {
var response;
logsRecording(function (filename) {
ackFn(filename);
});
});
或者,您可以在 client.js 中为您已注释掉的 filename
事件添加一个监听器:
socket.emit('startRecording');
socket.on('filename', function(filename) {
console.log('Filename received: ' + filename);
});
浏览Get Started: Chat application 可能会有所帮助从标题“Integrating Socket.IO”开始,以更全面地了解 Websocket。
关于node.js - 如何使用 socket.io 将响应发送回客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38506952/