gpt4 book ai didi

ios - Node.js socket.io 不响应 iOS socket.io 发出请求

转载 作者:行者123 更新时间:2023-11-29 12:12:14 25 4
gpt4 key购买 nike

我似乎无法弄清楚这一点。我正在测试使用 socket.io 将 iOS 客户端应用程序与 Node.js 服务器连接起来。我的服务器代码如下所示:

var io = SocketIO(8099, { log: true });

io.on('connection', function (socket) {

socket.on('connect', function (data) {
console.log('Connected, data: ' + data);
});

socket.on('getProjects', function(from, msg) {
database.allProjects(function getAllProjectsCallback(err, rows) {
console.log('Got the project list');
socket.emit('projectList', rows);
});
});

});

我的 iOS 代码开始于:

_socket = [[SocketIOClient alloc] initWithSocketURL:@"http://localhost:8099" opts:nil];

[_socket on:@"connect" callback:^(NSArray* data, SocketAckEmitter* ack) {
NSLog(@"socket connected");
}];

[_socket on:@"projectList" callback:^(NSArray* data, SocketAckEmitter* ack) {
NSLog(@"Project list received");
[ack with:@[]];
}];

[_socket connect];

在另一种方法中,我有这段代码应该发送获取项目请求:

[_socket emit:@"getProjects" withItems:@[]];

我可以在日志中看到 iOS“套接字已连接”消息。但不是 Node.js 的“已连接,...”消息。当我在 iOS 中触发 [_socket emit:@"getProjects"...] 时,服务器上没有任何反应。 'connect' 或 'getProjects' 事件均未被调用。

我浏览了互联网,据我所知,我已经按照我能找到的所有博客和示例完成了所有操作。

我在此设置中缺少什么?还是我从根本上误解了什么?

最佳答案

才意识到这都是我的错。我的时机不对,因为我正在重构使用不同通信模型的代码。我的代码设法在创建套接字之后但在准备好发送数据之前执行 emit。

现在一切正常。谢谢。

关于ios - Node.js socket.io 不响应 iOS socket.io 发出请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33118392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com