0

ASyncSocket を使用して、あるデバイスから別のデバイスにいくつかの UIImage を移動しています。

基本的に、私が持っている1つのデバイスで:

NSMutableData *data = UIImageJPEGRepresentation(image, 0.1);

if(isRunning){
    [sock writeData:data withTimeout:-1 tag:0];
}

そのため、新しい画像が頻繁にソケットに追加されます (Web カメラのように)。

次に、他のデバイスで、次のように呼び出しています。

[listenSocket readDataWithTimeout:1 tag:0];

次のように応答します。

- (void)onSocket:(AsyncSocket *)sock didReadData:(NSData *)data withTag:(long)tag
{
    [responseData appendData:data];
    [listenSocket readDataWithTimeout:1 tag:0];
}

基本的に、私ができるようにしたいのは、@selector(PullImages) を呼び出す NSTimer を実行することです。

-(void) PullImages {

ここでは、ResponseData から画像を取得できるようにしたいと考えています。それ、どうやったら出来るの?まだ完全なイメージではないかもしれませんし、複数のイメージがあるかもしれませんし、1 つ半のイメージがあるかもしれません!

NSData を既存の各イメージに解析したい!

}

何か援助はありますか?前もって感謝します!

4

2 に答える 2

2

画像の周りに独自のラッパー プロトコルを実装する必要があります。これは、実際の画像データの前に画像データの長さを送信するのと同じくらい簡単です。データを受信するとき、完全なイメージを取得する前にプルする必要があるバイト数がわかるようになりました。各画像がストリームから分割されると、次の画像の長さになります。

ある iPhone から別の iPhone に送信するので、エンディアンを気にする必要はなく、サイズの両端で 32 ビットの int を使用できます。

于 2010-05-11T20:51:49.893 に答える
0

区切り文字を使用して、異なる画像を個別に識別してください。区切り文字をキャッチすると、他の画像が次に来ることがわかります。

于 2010-06-27T13:56:18.770 に答える