0

現在、Java サーバーに問題があります。

画像を送信する単純な TCP サーバーです。問題は、クライアント プログラムのコードを持っていないことです...さらに、クライアント ソケットの書き込みイベントや、クライアントに送信済みのデータ量をチェックする方法がないようです。

クライアントが画像を正しく取得するのを妨げる可能性があるものについて誰かが考えていますか?

これが私のコードです:

byte[] response = process ( cmd );

if ( response == null )
{
    controlSock.close();
    dataSock.close();
    stop = true;
}
else if ( dataSock != null )
{
   dos.write( response );
   dos.flush();
}

ちなみに、サーバーはTelnetで問題なく動いています。

4

1 に答える 1

2

サーバーが telnet で正常に動作する場合、サーバーは問題ありません。

問題は、クライアントが行っている仮定があなたのものと同じではないことにある可能性が高くなります. たとえば、クライアントは、最初にビッグまたはリトルエンディアン形式 (int、short、または long) でサイズを送信していると想定する場合があります。おそらく、ファイル/画像の名前も何らかの形式であると想定します。

これを確実に知る唯一の方法は、クライアントのコードを読むか、クライアントが何を想定しているかを知っている人に尋ねることです。

于 2012-12-13T10:41:39.430 に答える