如图,为什么通过getHostName()得到的不是客户端的主机名?而是IP地址?
而且在服务器端是先调用了serverSocket类的start()方法,为什么在控制台中最后输出serverSocket中输出的语句?
serverThread.start(); //统计连接过服务器的数量 System.out.println("客户端的数量:" + (++count)); //获取客户端的IP地址和主机名 System.out.println("当前客户端的IP地址:" + socket.getInetAddress().getHostAddress() + "\n当前客户端的主机名: " + socket.getInetAddress().getHostName());
输出是:
客户端的数量:1
当前客户端的IP地址:127.0.0.1
当前客户端的主机名: 127.0.0.1
我是服务器,客户端说: 用户名:ala;密码:12789
方法的执行先后顺序为什么是这样的?
因为网络通信过程中客户端的主机名是不会带到服务器端的。。第二,你没学过多线程吗,不知道主线程和调用的线程是交替进行的吗,都是独立进行的。
方法顺序没看出来哪儿有疑问。hostname此处就是ip地址