0
GCDAsyncSocketを使用してアプリケーションに画像を送信します。画像が大きいので、sort
というNSMutablearray
を保存する多数の小さなパケットにデータを分割します。連続してudpパケットを送信する方法GCDAsyncUdpSocket
GCDAsyncUdpSocket *sendSocket;
sendSocket = [[GCDAsycUdpSocket alloc] initwithDelegate:self delegateQueue:dispatch_get_main_queue()];
for(int i = 0;i < sort.count; i++)
{
[sendSocket sendData:[sort objectAtIndex:i toHost:@"239.1.1.110" port:46110 Timeout:-1 tag:1];
}
しかし、すべてのパケットが送信が近すぎる、次のように、ほとんどのパケットはlose.Toこの問題を解決するため、私はコードの行を追加します。
GCDAsyncUdpSocket *sendSocket;
sendSocket = [[GCDAsycUdpSocket alloc] initwithDelegate:self delegateQueue:dispatch_get_main_queue()];
for(int i = 0;i < sort.count; i++)
{
[sendSocket sendData:[sort objectAtIndex:i toHost:@"239.1.1.110" port:46110 Timeout:-1 tag:1];
[Thread sleepForTimeInterval:0.003f];
}
その結果、それは私のアプリケーションが奇妙になりだから私はすべての送信にtimeIntervalを追加する他の方法を知りたい。助けていただきありがとうございます、事前に多くのおかげです。 GCDAsyncudpSocket.mで