gpt4 book ai didi

java - Android java 如何连接到具有不同网络/IP 地址的服务器

转载 作者:太空狗 更新时间:2023-10-29 14:13:58 26 4
gpt4 key购买 nike

如何连接不同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");
}
}

}

最佳答案

您必须找出运行服务器的电脑的外部/互联网 IP 地址。你可以在那台电脑上用 http://whatismyip.com 做到这一点.在您的客户端中使用获得的 ip。但在它真正起作用之前,您必须配置您的 pc 连接到的路由器,以将使用的端口转发到您 pc 的 lan ip 地址。

关于java - Android java 如何连接到具有不同网络/IP 地址的服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24232111/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com