我正在进行套接字编程,而我是socket新手。我被困。我能够轻松地在服务器上发送消息,但无法从服务器获取消息。这可能意味着我的socket.on()方法不起作用。 我的socket连接的代码是socket.on方法在从服务器获取消息期间不会调用
-(void)socketSession
{
NSString *strURl = [NSString stringWithFormat:URl];
NSURL* url = [[NSURL alloc] initWithString:strURl];
socket = [[SocketIOClient alloc] initWithSocketURL:url options:@{@"log": @YES, @"forcePolling": @YES}];
[socket connect];
[self recieveServerMessage];
[socket on:@"connect" callback:^(NSArray* data, SocketAckEmitter* ack) {
NSLog(@"socket connected");
}];
}
我的viewController类调用此方法对viewDidLoad
和recieveServermessage
方法是
-(void)recieveServerMessage{
NSLog(@"receiving...message...");
[socket on:@"chat" callback:^(NSArray* data, SocketAckEmitter* ack) {
NSLog(@"recieveMessage");
}];
}
我的控制时,通过服务器发送消息不来。 及以下格式由网络服务器客户端提供
socket.on(":chat", function(data) {
// fired when any chat message is raised
// data.to_id = my _id. Please verify this before processing the packet
// data.sender_id = sender's _id. Map against counsellor list API or /api/getUserName?_id=(user's _id)
// data.msg = text message sent by the sender
})
现在请指导我。在过去的两天里,我一直在坚持。 谢谢
socket.emit用于发送消息到服务器,但这部分工作。我无法从服务器获取消息意味着来自服务器的socket.on方法不叫 –
你打电话发送消息给客户端吗? –
其实我有一个在线网站有聊天功能,在后台使用套接字,但相同的功能在android.Android开发人员使用socket.on方法从服务器获取消息。 –