gpt4 book ai didi

java - Android应用程序通过套接字与服务器通信

转载 作者:行者123 更新时间:2023-12-02 00:33:51 26 4
gpt4 key购买 nike

我正在制作一个与服务器通信的 Android 应用程序。当 Android 手机收到短信时,我希望它通过套接字将其发送到我的服务器。

公共(public)类服务器{

public static final int PORT = 8080;
public static void main(String[] args) throws IOException {
ServerSocket s = new ServerSocket(PORT);
try {
Socket socket = s.accept();
try {
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String str = in.readLine();
System.out.println(str);
}
finally {
socket.close();
}
}
finally {
s.close();
}
}

}

这是我的客户:

public Client(String message){

try {
Socket socket = new Socket("127.0.0.1", 8080);
PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);
out.println(message);
socket.close();
}catch(Exception e){
e.printStackTrace();
}
}

当我从 Android 应用程序调用 Client 类时,我没有得到任何连接。有人知道如何解决这个问题吗?

当手机收到消息时,会从 onReceive(Context context, Intent Intent){ 方法调用“Client”类。

最佳答案

您的 Android 客户端正在尝试创建一个连接到 IP 127.0.0.1(环回地址)的套接字。您本质上是在尝试与自己建立联系

改变

Socket socket = new Socket("127.0.0.1", 8080);

Socket socket = new Socket("your server's IP", 8080);

请不要将其字面意思更改为“您的服务器的 IP”:) 将其更改为 192.168.1.104 或网络上的任何服务器地址。

关于java - Android应用程序通过套接字与服务器通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8317083/

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