やあみんな、この質問がまだ出されているかどうかはわかりませんが、次の状況を想像してみてください。
2つのTCPソケット(2つで開いてNSSocketPort
リッスンしてNSFileHandle
いる)があり、それらの間にいくつかを送信したいと思いNSData
ます。
@try {
[fileHandle writeData:data];
}
@catch (NSException * e) {
// Do some alert
}
NSData
32768バイトを超える長さのインスタンスを送信するまではすべて問題ありません。このバイト数を超えると転送されません。だからここに私の質問があります:
1)Cocoaが一度に32768バイト以上を送信できないのはなぜですか?
2)回避策を講じる必要がありますか?
3)はいの場合、データを分割しますが、どのように分割しますか?そして、他のソケットは、すべてのデータがいつ送信されたかをどのように知るのでしょうか?
ちなみに、この単一NSData
インスタンスを送信した後、両方のソケットを再度閉じる必要があります。