我刚开始使用socket.io为我的客户端和Node.js
服务器端构建服务器。
我正在编写一个Objective-c
项目,所以我逐步调整我的项目以使用Swift
和Objective-c
一起使用,这很痛苦,但现在似乎还可以。
问题是,当我尝试对我的服务器进行简单连接时,打印以登录每个连接,没有任何反应。
这是服务器的代码(取自here):
var fs = require('fs')
, http = require('http')
, socketio = require('socket.io');
var server = http.createServer(function(req, res) {
res.writeHead(200, { 'Content-type': 'text/html'});
}).listen(8080, function() {
console.log('Listening at: http://localhost:8080');
});
socketio.listen(server).on('connection', function (socket) {
console.log('Connected');
socket.on('message', function (msg) {
console.log('Message Received: ', msg);
socket.broadcast.emit('message', msg);
});
});
超级简单,真的没什么。
我的客户端的Objective-c
代码更简单:
- (void) connect
{
SocketIOClient* client = [[SocketIOClient alloc]initWithSocketURL:@"http://127.0.0.1:8080/" options:nil];
[client connect];
}
但除了Listening at: http://localhost:8080
消息外,我在控制台上看不到任何内容。
我似乎无法找到我在这里做错了什么,而且这个组合项目中的快速调试很糟糕,我无法完全通过socket.io
调试自己(但是我很确定他们的代码没什么问题)
非常感谢任何帮助。
答案 0 :(得分:0)
我在上一个项目中使用了https://github.com/pkyeck/socket.IO-objc,它就像一个魅力。
对于模拟器,理想情况下您的代码应该可以工作。