AsyncSocket是不是每发送一消息就需要实例化一次啊??然后建立连接啊?

AsyncSocketwriteData 方法发送数据,
代码

[ _asyncSocket writeData:[@"我是IOS客户端" dataUsingEncoding:NSUTF8StringEncoding] withTimeout:-1 tag:1];

只是一直放在内存中,没有发送出去,关掉链接之后才发送所有的数据,不可以写入一条就发一条吗?

阅读 4.6k
1 个回答

实例化一次就可以,当然可以一条一条发. 如果服务没收到的话应该是发送的字符串问题,你尝试加\n试试,大部分服务器都是以这个符号判断是否为一条消息(具体要看后台怎么做的)

#pragma mark - 连接到服务器
- (void)connectToHost
{
    if (!_socket) {
        _socket = [[AsyncSocket alloc]initWithDelegate:self];
        [_socket connectToHost:SERVER_PATH_SOCKET onPort:50000 withTimeout:5 error:nil];
    }
}


#pragma mark - 断开连接
- (void)socketDisconnect
{
    //断开连接时候一定要清空socket
    [_socket disconnect];
    _socket = nil;
}
#pragma mark - 返回数据
- (void)onSocket:(AsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag
{
    NSLog(@"data is %@", data);//返回的是二进制
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题