0

私は現在、コミュニケーション アプリケーションのベータ版の作成に取り組んでいます / ほぼ完成しています。EC2 インスタンスでサーバーを実行していますが、数日後にサーバーのステータスを確認すると、どういうわけかサーバー アプリケーションが「Port already in use」という例外でスタックし続けます。しかし、最初の数日間は問題なく動作しています。コーディング中にいくつかの間違いを犯しましたが、Linux OS でまだ何かをセットアップしていないのではないかと疑っています. これは誰にでも時々起こることですか?

=================================================

私は主に次のコード行を使用して、ループ内で常にユーザーを受け入れています

while (blinker != null) {
            try {
                ServerSocket ss = new ServerSocket(PORT, 10);
                Socket connection = ss.accept();
                //other stuffs going on
                ss.close();       //forgot to mention that i actually close it all the time after accepting a new user
                             }
}

===================================

それに加えて、主にポート443と80を使用しています

4

1 に答える 1

1

ServerSocket の作成をループの外に移動します。現在、接続を受け入れるたびに新しい接続を作成しようとしているため、自分自身と競合しています。プログラムの存続期間中、必要なのは 1 つだけです。

于 2012-08-14T07:24:58.680 に答える