0
我試圖從這個網站server client code查找Java服務器時間和客戶端時間
它完美我的機器上的代碼,我第一次運行服務器代碼,然後客戶端代碼。 我得到了時間。 我試圖把服務器端代碼到另一臺電腦並在Eclipse中運行它在那裏,同樣我試圖從日食在我身邊運行的客戶端代碼,但沒有成功。 它給了我下面的錯誤:
Exception in thread "main" java.net.BindException: Cannot assign requested address: JVM_Bind
at java.net.DualStackPlainSocketImpl.bind0(Native Method)
at java.net.DualStackPlainSocketImpl.socketBind(Unknown Source)
at java.net.AbstractPlainSocketImpl.bind(Unknown Source)
at java.net.PlainSocketImpl.bind(Unknown Source)
at java.net.ServerSocket.bind(Unknown Source)
at java.net.ServerSocket.<init>(Unknown Source)
at sample.servertime.main(servertime.java:13)
我這樣做是正確的或者是理解錯了什麼,我doing.Need幫助。 以下是2個代碼。
// Date Client
import java.io.*;
import java.net.*;
class DateClient
{
publicstaticvoid main(String args[]) throws Exception
{
Socket soc=new Socket(InetAddress.getLocalHost(),5217);
BufferedReader in=new BufferedReader(
new InputStreamReader(
soc.getInputStream()
)
);
System.out.println(in.readLine());
}
}
// Date Server
import java.net.*;
import java.io.*;
import java.util.*;
class DateServer
{
publicstaticvoid main(String args[]) throws Exception
{
InetAddress locIP = InetAddress.getByName("192.168.1.21");
ServerSocket s= new ServerSocket(5217, 0, locIP);
while(true)
{
System.out.println("Waiting For Connection ...");
Socket soc=s.accept();
DataOutputStream out=new DataOutputStream(soc.getOutputStream());
out.writeBytes("Server Date" + (new Date()).toString() + "\n");
out.close();
soc.close();
}
}
}
是的,我看到了同樣的錯誤,我檢查out..Now我得到的連接超時 –
@ user2958963你有運行的服務器和客戶端機器之間的連接?任何防火牆阻止傳入請求也許? – jpw
我應該怎麼辦,這樣的日期和時間,如果你改變了服務器類使用'ServerSocket的S =新的ServerSocket(5217)獲得顯示在客戶機上以及 –