タイトルはわかりやすいようです。アプリでのデータの送受信速度を上げたいのですが、tcp_nodelayをtrueに設定するように言われました。しかし、GCDAsyncSocketでそれを行う方法がわかりません。誰か助けてもらえますか?
質問する
2221 次
1 に答える
3
私はGCDAsyncSocketsocketFD
を使用していませんが、「GCDAsyncSocket.h」は、呼び出しでのみ呼び出す必要があるメソッドを使用して、基になるソケット記述子を取得できることを示していますperformBlock:
。したがって、次のコードが機能する可能性があります。
[asyncSocket performBlock:^{
int fd = [asyncSocket socketFD];
int on = 1;
if (setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, (char*)&on, sizeof(on)) == -1) {
/* handle error */
}
}];
追加する必要があるかもしれません
#include <netinet/tcp.h>
#include <netinet/in.h>
これをコンパイルするには、ソースファイルに追加します。私が言ったように、私はこれを試していませんが、おそらくそれはあなたを正しい方向に向けるのに役立ちます。
于 2012-08-17T17:56:47.597 に答える