こんにちは私はJava:複数の接続を持つハンドリングソケット?
public class Tcpfileserver extends Thread
{
private ServerSocket serverSocket;
public static void main(String[] args)
{
Tcpfileserver obj=new Tcpfileserver();
obj.start();
}
public void run()
{
serverSocket = new ServerSocket(3000);
while(true)
{
Socket socket = serverSocket.accept(); // accept connection
TcpThread t = new TcpThread(socket); // make a thread of it
//System.out.println("Remote IP:"+socket.getInetAddress());
//System.out.println("Remote Port:"+socket.getPort());
t.start();
}}
...接続するための複数のクライアントのために、サーバ側で次のコードを使用していますが、複数のクライアントがそれらのいくつかのタイムアウト自分のサーバーに接続するときに、なぜ受け入れるために私の側からの遅延がありますすぐに接続?
は、接続の数ではありません1つのクライアントだけがあるtimout..if !!時々、第二のクライアントにも行く – Harinder
を介して接続されていますこれは、あなたの視点から複数の接続をハンドリングする正しい方法ですか? – Harinder
はい、私は思います。このコマンド "netstat -a"の出力をチェックしましたか?それはあなたの3000ポートが常にTIME_WAITと言うローカルポートでリスニング状態にあるべきであり、確立された接続がESTABLISHED状態にあるようにすべきです。 – peeyush