gpt4 book ai didi

java - 为什么我的套接字没有收到响应?

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

我在我的android应用程序中打开了一个常规的java套接字,我必须使用它来发送请求和接收响应,我正常发送请求但没有收到来自服务器的任何响应,我检查了服务器连接并没关系,我也尝试通过 Hercules 收听并且请求正常发送,服务器正常发送响应,这是我正在使用的常规套接字编码:

public static void xbmc_connect(){
try {
xbmc_socket = new Socket(xbmc_address, xbmc_port);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public static void xbmc_sendingDataToSystem(String data) throws IOException{

xbmc_output = new DataOutputStream(xbmc_socket.getOutputStream());
xbmc_output.writeBytes(data);

}

public String xbmc_getServerResponse() throws JSONException{

String responseLine, server_response = null_string;

try {
xbmc_input = new BufferedReader(new InputStreamReader(
xbmc_socket.getInputStream()));
System.out.println(xbmc_input.toString());// doesn't print anything
} catch (IOException e) {
}
try {
while ((responseLine = xbmc_input.readLine()) != null) {
server_response = server_response + responseLine ;
}

return server_response;

}

最佳答案

简而言之:xbmc_input 是一个BufferedReader要从 BufferedReader 读取数据,您必须使用 read()readLine()

像您所做的那样,使用 toString() 获取 BufferedReader 的 String 表示形式没有多大意义。 调用toString()不会使BufferedReader打印它可能收到的任何内容。 toString() 只是打印 BufferedReader 对象 - 即对象的引用

因此,要打印实际收到的内容(如果有的话),您可能需要尝试:

System.out.println(xbmc_input.readLine());

关于java - 为什么我的套接字没有收到响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21680916/

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