gpt4 book ai didi

java - Android套接字等待问题

转载 作者:行者123 更新时间:2023-12-02 11:52:14 28 4
gpt4 key购买 nike

您好,我有一个使用套接字连接到远程服务器的应用程序

socket = new Socket();
socket.connect(new InetSocketAddress(Ip, portNum), 7000);

我有两种发送和接收方法

发送中的场景是

 PrintWriter out = new PrintWriter(socket.getOutputStream(),true);

在方法接收

  String msg = "";
BufferedReader in = null;

try {
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));


while (in.ready()) {

msg = msg + (char) in.read();

}
socket.close();

} catch (IOException e) {
e.printStackTrace();
}

在我调用的不同类的 AsyncTask 中

 send();
String response=receive();

上面的代码没有等待时间就不会发送或接收

    Thread.sleep(2000);

我知道 sleep 是一个不好的方法我应该使用什么最佳场景?

是否最好在发送方法中创建一个 AsyncTask,并在接收方法中创建另一个 AsyncTask?

这是我使用 sleep 的地方以及发送和接收的数据

 client.send(some sql statement representED as json format);
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
// sql select result represented as json
String RESULT = client.recive();

最佳答案

在您尝试连接之前,您的服务器可能没有监听。尽管从您发布的代码中尚不清楚这一点。您需要在那里显示服务器和客户端代码。

关于java - Android套接字等待问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47815804/

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