【问题标题】:pkyeck socket.IO-objc not sending event to socket.io serverpkyeck socket.IO-objc 未向 socket.io 服务器发送事件
【发布时间】:2014-01-30 00:31:54
【问题描述】:

我将 socket.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!");
  });

});

谁能解释为什么服务器没有收到消息事件?谢谢!

【问题讨论】:

  • 您是否要等到连接后才发送消息?
  • 正如@Sneakyness 所说:您必须等待客户端连接。

标签: ios objective-c node.js socket.io socketrocket


【解决方案1】:

等待

- (void) socketIODidConnect:(SocketIO *)socket
{
    NSLog(@"socket.io connected.");
}

要调用的委托并在此处添加您的sendEvent: 代码。例如:

- (void) socketIODidConnect:(SocketIO *)socket
{
    NSLog(@"socket.io connected.");
    [socketIO sendEvent:@"message" withData:@"hello"];
}

这应该可以。

【讨论】:

    猜你喜欢
    • 2019-03-17
    • 1970-01-01
    • 1970-01-01
    • 2014-03-16
    • 2016-07-14
    • 2014-11-22
    • 2013-01-03
    • 2016-07-17
    • 2018-11-19
    相关资源
    最近更新 更多