Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当打开套接字时,我的程序似乎什么也不做_Java - Fatal编程技术网

Java 当打开套接字时,我的程序似乎什么也不做

Java 当打开套接字时,我的程序似乎什么也不做,java,Java,所以我有一个程序,它应该在两个人之间开始聊天,但是当我第一次尝试启动服务器时,我似乎没有看到我的第一个打印语句,我似乎也从来没有启动过我的聊天参与者类。问题似乎与socket=Server.accepts()的初始化有关,就好像我在打印语句输出之前放入了打印语句一样。如何修复此问题?函数server.accept()会阻止您的代码,直到客户端连接到您的服务器。我打赌这不会发生在你的实际测试设置 函数server.accept()会阻止您的代码,直到客户端连接到您的服务器。我打赌这不会发生在你的

所以我有一个程序,它应该在两个人之间开始聊天,但是当我第一次尝试启动服务器时,我似乎没有看到我的第一个打印语句,我似乎也从来没有启动过我的聊天参与者类。问题似乎与socket=Server.accepts()的初始化有关,就好像我在打印语句输出之前放入了打印语句一样。如何修复此问题?

函数
server.accept()
会阻止您的代码,直到客户端连接到您的服务器。我打赌这不会发生在你的实际测试设置


函数
server.accept()
会阻止您的代码,直到客户端连接到您的服务器。我打赌这不会发生在你的实际测试设置

Socket.accept()
仅在某些东西实际连接到服务器后才会返回。因此,如果您只启动服务器而不启动客户机,那么不打印任何内容实际上就是预期的行为。
Socket.accept()
仅在某个内容实际连接到您的服务器后才会返回。因此,如果只启动服务器而不启动客户机,那么不打印任何内容实际上就是预期的行为。
  public static void main(String args[]) {
        boolean isServer=true;
        int port=4000;
        try{
            if(isServer==true){
                new Server(port);
                //starta server
            }
            if(isServer==false){
                new Client(port);
            }}
        catch(IOException e){
            System.out.println("could not start chat");
        }
       
    }
}
class Server{
    ServerSocket server;
    Socket socket;
    Server(int port) throws IOException{
    server = new ServerSocket(port);
    
    socket = server.accept(); 
    System.out.println("got here");
    new ChatParticipant(socket);
    server.close();
    

}}