情報とデータを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で実装されました。
ありがとうございました。