1

情報とデータを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];
}

コメント行がコメントされている場合、サーバーにエラーがあります。そうでない場合、データは正常に到着します。コメント行の代わりに sleep を配置すると、データは正常に到着します。

私のサーバーはJavaで実装されました。

ありがとうございました。

4

0 に答える 0