【发布时间】:2023-04-04 13:30:02
【问题描述】:
如何连接到不同IP地址的服务器
我真的不知道该怎么办......
让我先解释一下。
如果我和我的计算机在同一个网络上,我有一个客户端和服务器,在两者之间发送消息时效果很好。
我有一个安卓设备,我希望当我被放置在很远的地方,当我点击某个按钮时,即使我不在同一个网络上,它也会向服务器发送消息。
客户
try {
client = new Socket("IpAddress", 4444);
BufferedReader in = new BufferedReader(
new InputStreamReader(client.getInputStream()));
printlng = new PrintWriter(client.getOutputStream());
printlng.println(mlng);
printlng.flush();
while (true) {
if ((Response= in.readLine()) != null) {
Log.i("Response:", Response);
dlng = Double.valueOf(Response);
System.out.println(dlng);
break;
}
}
服务器:
public static void main(String[] args) {
try {
serverSocket = new ServerSocket(4444); // Server socket
} catch (IOException e) {
System.out.println("Could not listen on port: 4444");
}
System.out.println("Server started. Listening to the port 4444");
while (true) {
try {
clientSocket = serverSocket.accept(); // accept the client
inputStreamReader = new InputStreamReader(
clientSocket.getInputStream());
bufferedReader = new BufferedReader(inputStreamReader); // get
// the
// client
PrintWriter out = new PrintWriter(
clientSocket.getOutputStream(), true);
InputStream inputStream = new ByteArrayInputStream(
bufferedReader.readLine().getBytes(
Charset.forName("UTF-8")));
BufferedReader bufferedReader2 = new BufferedReader(
new InputStreamReader(inputStream));
String output = bufferedReader2.readLine();
System.out.println(output.toString());
out.println(output.toString());
out.flush();
out.close();
inputStreamReader.close();
clientSocket.close();
} catch (IOException ex) {
System.out.println("Problem in message reading");
}
}
}
【问题讨论】:
标签: java android networking client