我正在使用套接字。IO-objc 库 (https://github.com/pkyeck/socket.IO-objc) 与运行 socket.io 的节点服务器相结合,虽然我能够让我的 iOS 客户端连接到服务器,但我似乎无法使用 objective-c API 在服务器上触发消息事件。这是我的obj-c代码:
- (void)viewDidLoad
{
[super viewDidLoad];
SocketIO *socketIO = [[SocketIO alloc] initWithDelegate:self];
[socketIO connectToHost:@"my_ip_address" onPort:8080];
[socketIO sendEvent:@"message" withData:@"hello"];
和我的服务器代码:
io.sockets.on('connection', function (socket) {
console.log("connect to socket!");
socket.on('message', function (data) {
console.log("got some data!");
});
});
谁能解释为什么服务器没有收到消息事件? 谢谢!
等待
- (void) socketIODidConnect:(SocketIO *)socket
{
NSLog(@"socket.io connected.");
}
委托被调用并在那里添加您的sendEvent:
代码。 例如:
- (void) socketIODidConnect:(SocketIO *)socket
{
NSLog(@"socket.io connected.");
[socketIO sendEvent:@"message" withData:@"hello"];
}
这应该有效。