C语言中的TCP客户端有问题

时间:2013-06-10 20:13:00

标签: objective-c c tcp client

我有把数据和数据发送到TCP服务器的奇怪问题。 我的代码是用C和Objective-C编写的。 我发送信息后,我以相同的方式发送数据。

TCPClient *tcp = [[TCPClient alloc] init];
TCPResponse c = [tcp connectWithHost:@"127.0.0.1" onPort:@"2506" withTimeout:30];
TCPResponse sendInfo = [tcp sendString:msg];
TCPResponse send = [tcp sendData: data];

sendInfo很好,但另一个......

const void *dataBytes = [data bytes];
unsigned long length = [data length];
//NSLog(@"[####]\n %s [%ld][%ld]", dataBytes, sizeof(dataBytes), [data length]);

ssize_t bytes_sent = send(_sockfd, dataBytes, length, 0);
if (bytes_sent < length) {
    /* Se não enviar: retorna erro */
    return [TCPClient setupError:errno withDefault: TCPResponseErrorToSend];
}

如果注释行被注释,我在服务器中有错误,如果没有,数据就可以了。 如果我把睡眠代替注释行,数据就可以了。

我的服务器是用Java实现的。

谢谢。

0 个答案:

没有答案