2

基本的に、NSDataオブジェクトを記述します。

[asyncSocket writeData:JSONRequestData withTimeout:-1 tag:1];

実行すると、デリゲートを呼び出します

- (void)socket:(GCDAsyncSocket *)sock didWriteDataWithTag:(long)tag

しかし、何らかの理由で、書き込みがバッファに送られると...サーバーに書き出されません。

ビルドを停止すると、ソケットがすべてを書き込むことを決定し、サーバーがそれを認識してしまうと思います。

これをどのように修正しますか?CocoaAsyncSocketは必要ないので、フラッシュする方法はありません... "/ n"などの行末を追加しようとしましたが、それでも何も起こりません。

4

1 に答える 1

5

これは、user523234の提案に基づいています。

基本的に、書き出すNSDataには、これ以上データが入らないことをソケットに通知するための何らかの信号が必要です。

追加しました

[GCDAsyncSocket CRLFData];

NSDataオブジェクトに

注:を使用するには

appendData:

メソッド、NSDataをNSMutableDataに変換する必要があります。

于 2012-08-18T08:44:31.873 に答える