hus*_*ain 10 node.js socket.io
我已经socket.emit从客户端调用服务器作为响应我希望有文件名到客户端没有发生以下代码不确定什么是错误的任何想法,我没有看到任何错误.如何获得服务器使用的响应socket.emit?
client.js
socket.emit('startRecording',function (response) {
console.log('start recording emit response',response);
});
Run Code Online (Sandbox Code Playgroud)
server..js
socket.on('startRecording',function () {
var response;
logsRecording(function (filename) {
response = filename;
return response;
//socket.emit('filename',filename);
});
Run Code Online (Sandbox Code Playgroud)
Wil*_*ill 16
要确认该消息,您的startRecording事件处理程序需要接受确认回调作为参数.然后,您可以使用所需数据调用它.请参阅发送和获取数据(确认)
socket.on('startRecording',function (socket, ackFn) {
var response;
logsRecording(function (filename) {
ackFn(filename);
});
});
Run Code Online (Sandbox Code Playgroud)
或者,您可以filename在client.js中为已注释掉的事件添加一个侦听器:
socket.emit('startRecording');
socket.on('filename', function(filename) {
console.log('Filename received: ' + filename);
});
Run Code Online (Sandbox Code Playgroud)
从"集成Socket.IO"标题开始,通过"入门:聊天"应用程序运行可能会有所帮助,以便更全面地了解Websockets.
小智 7
您的服务器代码应如下所示:
socket.on('startRecording',function (callbackFn) {
var response;
logsRecording(function (filename) {
callbackFn(filename);
});
Run Code Online (Sandbox Code Playgroud)
如果您想从客户端传入数据:
socket.emit('startRecording', {someData: 'value'}, function (response) {
Run Code Online (Sandbox Code Playgroud)
那么服务器将是:
socket.on('startRecording',function (dataFromClient, callbackFn) {
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13813 次 |
| 最近记录: |