我如何查看套接字是否已连接到我的服务器?
How can i see if a socket is already connected to my server?
我正在 java 中编写一个 client/server 应用程序。此代码是否正确检查客户端的某些套接字是否已连接到我的服务器?我很新,这是我的第一个具有此功能的应用程序,所以不要杀了我...
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");
}
}
没有
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();
这一切都毫无意义。移除。
我正在 java 中编写一个 client/server 应用程序。此代码是否正确检查客户端的某些套接字是否已连接到我的服务器?我很新,这是我的第一个具有此功能的应用程序,所以不要杀了我...
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");
}
}
没有
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();
这一切都毫无意义。移除。