3

Javaで宣言するとき

Socket s = new Socket((String)null, 12345);

これは実際にソケットを開いてシステムとネットワークリソースを使用しますか、それとも入出力バッファーを接続するまで延期されますか?プログラムの開始時に、サーバーに接続するように設定されたオブジェクトを作成しSocket、アドレスとポートを渡すのではなく、必要に応じてオブジェクトを開閉したいのですが(きれいに見えます)。それがポートがずっと開いていることを意味する場合ではありません。

編集
これは私が望んでいたようには機能しないようです。すべてアドレスが設定され、接続するだけでよい閉じたソケットを作成するにはどうすればよいですか?

4

4 に答える 4

3

http://docs.oracle.com/javase/6/docs/api/java/net/Socket.html#Socket(java.net.InetAddress,%20int)<-使用するコンストラクターによって異なります。指定したコンストラクターの場合、接続します。

于 2012-06-17T21:36:10.860 に答える
2

http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html#Socket(java.lang.String,int)によると 、オブジェクトを初期化する方法で接続されます。

于 2012-06-17T21:42:22.850 に答える
0

編集用:すべてのセットアップ情報を保持し、後で開くことができる独自のクラスをセットアップする必要があります。たぶん、yüuはそこにデータを格納し、ソケットを返すメソッドを作成します。それはあなた次第です、それをする方法はたくさんあります。ただし、最後にすべてのソケットが正しく閉じられていることを確認してください;)

于 2012-06-17T21:50:08.553 に答える
0

Socketのすべてのコンストラクターは、システムリソースを使用する基になるソケットを作成し、引数なしのコンストラクターを除くすべてのコンストラクターも、ネットワークリソースを使用するソケットに接続します。ソケットへの「入出力バッファの接続」などの操作はありません。

于 2012-06-17T21:59:57.423 に答える