為什么通過getHostAddress()和getHostName()得到都是IP地址,后者為什么不是主機(jī)名?而且在服務(wù)器端是怎樣的運(yùn)行順序?
如圖,為什么通過getHostName()得到的不是客戶端的主機(jī)名?而是IP地址?
而且在服務(wù)器端是先調(diào)用了serverSocket類的start()方法,為什么在控制臺中最后輸出serverSocket中輸出的語句?
serverThread.start(); //統(tǒng)計連接過服務(wù)器的數(shù)量 System.out.println("客戶端的數(shù)量:"?+?(++count)); //獲取客戶端的IP地址和主機(jī)名 System.out.println("當(dāng)前客戶端的IP地址:"?+?socket.getInetAddress().getHostAddress()? +?"\n當(dāng)前客戶端的主機(jī)名:?"?+?socket.getInetAddress().getHostName());
輸出是:
客戶端的數(shù)量:1
當(dāng)前客戶端的IP地址:127.0.0.1
當(dāng)前客戶端的主機(jī)名: 127.0.0.1
我是服務(wù)器,客戶端說: 用戶名:ala;密碼:12789
方法的執(zhí)行先后順序?yàn)槭裁词沁@樣的?
2017-09-28
因?yàn)榫W(wǎng)絡(luò)通信過程中客戶端的主機(jī)名是不會帶到服務(wù)器端的。。第二,你沒學(xué)過多線程嗎,不知道主線程和調(diào)用的線程是交替進(jìn)行的嗎,都是獨(dú)立進(jìn)行的。
2017-04-03
方法順序沒看出來哪兒有疑問。hostname此處就是ip地址