蔚然成麟er
2017-04-03 10:53
如图,为什么通过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地址
Java Socket应用---通信是这样练成的
125006 学习 · 627 问题
相似问题