初めて PHP ソケット サーバー用のクライアントを作成しようとしましたが、少し問題が発生し、情報が殺到しています。
サーバーでは、開いている接続が必要です。入力ストリームの解析を開始するようにスレッドに通知する前に、データを受信するまでクライアント側を待機させます。これは、ループを使用せずに達成できますか? lock.notify() を呼び出せるようにしたいです。
私もNIOを見ていましたが、これは私が望むものの実行可能なオプションですか? ここに私がこれまでに持っているコードがありますが、繰り返しますが、for(;;) を避けようとしているだけで、受信したメッセージは JSON である可能性が高いため、キューに入れることさえできます。
 Thread serverRecieve = new Thread(new Runnable() {
    @Override
    public void run() {
        try {
            for (;;) {
                if (in != null) {
                    String line;
                    while ((line = in.readLine()) != null) {
                        sout(line);
                    }
                } else {
                    sout("inputstream is null! Waiting for a second to test again");
                }
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException ex) {
                    Logger.getLogger(WebManager.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        } catch (IOException ex) {
            Logger.getLogger(WebManager.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
});
みんなありがとう!PS: ここでたくさんのソケット スレッドを調べましたが、必要なものを尋ねるだけの方が簡単だと判断しました。