まず、長さが定義されていない HTTP 応答の読み取りに関する問題を解決するのを手伝ってくれた場合は、感謝します。私はあなたのアドバイスを受けて、HTTP 応答から生の Java ソケットに切り替えました。しかし、これにも少し問題があります。
プッシュ サーバーの性質は、受信したものをクライアントにプッシュすることです (私の場合、システムはデバイス ID でラベル付けされたファイルを使用します)。問題は、Java チュートリアルの KnockKnock の例のコード:
while ((inputLine = in.readLine()) != null) {...
何かを送信する前に、クライアントが何かを送信するのを待ちます。だから私は使用することにしました:
while (true) {
if ((inputLine=in.readLine())==null) inputLine="";
...
入力インターペリターのいずれかがこの空の文字列を取得した場合、それらは何もしません。
私の質問は基本的にどちらが優れているかということです.それが最初のものである場合、スレッドを生成せずに必要なものを送信するためにファイルをチェックし続けるにはどうすればよいですか?