【问题标题】:How can i see if a socket is already connected to my server?如何查看套接字是否已连接到我的服务器?
【发布时间】:2017-05-06 07:50:33
【问题描述】:

我正在用 java 编写客户端/服务器应用程序。此代码是否正确以检查客户端的某些套接字是否已连接到我的服务器?我很新,这是我的第一个具有这种特性的应用,所以不要杀了我......

package ServerCommunication;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;


public class MultiServer {

    public void openSocket() throws IOException {
        ServerSocket serverSocket = null;
        boolean listening = true;
        MultiServerThread w=null;
        try {
            serverSocket = new ServerSocket(1633);
            System.out.println("Waiting on 1633.");
        } catch (IOException e) {
            System.err.println("Could not listen on port: 1633.");
            System.exit(-1);
        }

        while (listening) {
            System.out.println("Hearing");
            Socket mysocket=serverSocket.accept();
            if(mysocket.isConnected())
                System.out.println("Already connected");
            else{
                System.out.println("Need to create one");
                w = new MultiServerThread(mysocket);
                Thread t = new Thread(w);
                t.start();
                    }
        }

        serverSocket.close();
        System.out.println("Multiserver closed");
    }
}

【问题讨论】:

    标签: java sockets server client client-server


    【解决方案1】:

    没有。

    while (listening) {
        System.out.println("Hearing");
        Socket mysocket=serverSocket.accept();
    

    执行这行代码的结果要么是IOException要么是Socket连接到客户端。

        if(mysocket.isConnected())
    

    毫无意义。它已连接。删除。

            System.out.println("Already connected");
    

    当然是连接的。这就是accept() 的用途。删除。

            else{
    

    无法访问。删除。

                System.out.println("Need to create one");
    

    不,你没有。删除。

                w = new MultiServerThread(mysocket);
                Thread t = new Thread(w);
                t.start();
    

    这一切都毫无意义。删除。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-17
      • 2019-12-10
      • 1970-01-01
      • 2012-09-06
      • 1970-01-01
      相关资源
      最近更新 更多