iOS使用AsycSocket第三方库与服务器连接,怎样接收服务器的推送消息?

iOS开发使用AsycSocket第三方库,长链接,
那么为什么收不到服务器的推送消息?

应该不是 APNS ,不是苹果的推送业务,
如果是的话,那么我们用的QQ,两个用户进行聊天的时候,不可能每一个聊天信息都要经过苹果服务器那边的呀

APNS你app搭建好了么?

//设置读取超时 -1 表示不会使用超时
#define READ_TIME_OUT -1

#define MAX_BUFFER 1024

//发送消息成功之后回调

  • (void)onSocket:(AsyncSocket *)sock didWriteDataWithTag:(long)tag { //读取消息 [self.socket readDataWithTimeout:-1 buffer:nil bufferOffset:0 maxLength:MAX_BUFFER tag:0]; }

//接受消息成功之后回调

  • (void)onSocket:(AsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag
    {
    //服务端返回消息数据量比较大时,可能分多次返回。所以在读取消息的时候,设置MAX_BUFFER表示每次最多读取多少,当data.length < MAX_BUFFER我们认为有可能是接受完一个完整的消息,然后才解析
    if( data.length < MAX_BUFFER )
    {
    //收到结果解析...
    NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:nil];
    NSLog(@"%@",dic);
    //解析出来的消息,可以通过通知、代理、block等传出去

    }

    [self.socket readDataWithTimeout:READ_TIME_OUT buffer:nil bufferOffset:0 maxLength:MAX_BUFFER tag:0];


在onSocket重载函数,有如定义采用是专门用来处理SOCKET的接收数据的.

-(void) onSocketAsyncSocket *)sock didReadDataNSData *)data withTaglong)tag

一般在中间将其转换成NSString进行显示.