我正在尝试创建一个程序,该程序将直接从套接字获取数据,而不是使用 HttpURLConnection 或 HttpClient。使用套接字将给我更多的自由来操作数据以匹配需求。我希望使用套接字,我可以保留与每个块一起发送的块头。以下是我的代码来实现这一点。不幸的是,即使代码运行没有任何错误,它也至少运行了 40 秒才停止。此外,即使我检查了程序已连接到服务器,我也没有从服务器获得任何 InputStream。
Socket socket = new Socket(hostAddr, port);
InputStream in = socket.getInputStream();
InputStreamReader isr = new InputStreamReader(in);
char[] streamBuff = new char[8192];
StringBuilder receivedData = new StringBuilder();
int count = 0;
while((count = isr.read(streamBuff)) > 0)
{
receivedData.append(streamBuff, 0, count);
}
System.out.println(receivedData);