我正在开发一个j2me应用程序,它使用套接字通过WiFi将数据发送到PC。什么应该是服务器地址?即我应该在下面的代码中使用什么而不是'localhost'?
客户代码(j2me):
SocketConnection sc = (SocketConnection)
Connector.open("socket://localhost:9002");
DataOutputStream os = null;
try{
os = sc.openDataOutputStream();
os.writeUTF("Test Dama");
} finally{
sc.close();
os.close();
}
服务器代码(j2se):
ServerSocket echoServer = null;
String line;
DataInputStream is;
Socket clientSocket = null;
try {
echoServer = new ServerSocket(9002);
}
catch (IOException e) {
System.out.println(e);
}
try {
clientSocket = echoServer.accept();
is = new DataInputStream(clientSocket.getInputStream());
line = is.readUTF();
System.out.println("Received:"+line);
}
catch (IOException e) {
System.out.println(e);
}
答案 0 :(得分:0)
这取决于服务器的ip / domain。
如果您在本地网络(家庭/办公室)上运行东西,那么只需找出运行服务器代码的机器的IP。 在linux系统中,你可以使用 ifconfig 命令找到它,然后在输出中ip地址在 inet addr 下。在Windows系统中,使用 ipconfig / all 。
一旦你有运行服务器的机器的ip,只需将它而不是你在客户端使用的 localhost 。
如果您希望这在公共网络上运行,则必须在具有static ip(或使用dynamic DNS)的计算机上运行服务器代码。