gpt4 book ai didi

java - 从 Java 套接字读取数据

转载 作者:可可西里 更新时间:2023-11-01 02:34:52 24 4
gpt4 key购买 nike

我有一个 Socket 监听某个 x 端口。

我可以将数据从我的客户端应用程序发送到套接字,但无法从服务器套接字获得任何响应。

  BufferedReader bis = new BufferedReader(new 
InputStreamReader(clientSocket.getInputStream()));
String inputLine;
while ((inputLine = bis.readLine()) != null)
{
instr.append(inputLine);
}

.. 此代码部分从服务器读取数据。

但是除非关闭服务器上的套接字,否则我无法从服务器读取任何内容。服务器代码不在我的控制之下,无法对其进行编辑。

我如何从客户端代码中解决这个问题。

谢谢

最佳答案

看起来服务器可能没有发送换行符(这正是 readLine() 正在寻找的)。尝试一些不依赖于它的东西。下面是一个使用缓冲区方法的示例:

    Socket clientSocket = new Socket("www.google.com", 80);
InputStream is = clientSocket.getInputStream();
PrintWriter pw = new PrintWriter(clientSocket.getOutputStream());
pw.println("GET / HTTP/1.0");
pw.println();
pw.flush();
byte[] buffer = new byte[1024];
int read;
while((read = is.read(buffer)) != -1) {
String output = new String(buffer, 0, read);
System.out.print(output);
System.out.flush();
};
clientSocket.close();

关于java - 从 Java 套接字读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16608878/

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