我正在尝试使用InputStreamReader来读取由我拥有的套接字发送的字节
InputStreamReader in = new InputStreamReader(socket.getInputStream());
in.read();这将抛出一个IOException :(。我知道套接字应该发送一些东西,但它一直抛出错误。
发布于 2011-03-23 05:10:28
实际的错误消息和堆栈跟踪确实会很有用。
你可以尝试使用BufferedReader和readLine来确保你得到了一些东西。enter link description here
发布于 2011-03-23 05:15:24
import java.io.*;
import java.net.*;
public class EchoClient {
public static void main(String[] args) throws IOException {
Socket echoSocket = null;
PrintWriter out = null;
BufferedReader in = null;
try {
echoSocket = new Socket("taranis", 7);
out = new PrintWriter(echoSocket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(
echoSocket.getInputStream()));
} catch (UnknownHostException e) {
System.err.println("Don't know about host: taranis.");
System.exit(1);
} catch (IOException e) {
System.err.println("Couldn't get I/O for "
+ "the connection to: taranis.");
System.exit(1);
}
BufferedReader stdIn = new BufferedReader(
new InputStreamReader(System.in));
String userInput;
while ((userInput = stdIn.readLine()) != null) {
out.println(userInput);
System.out.println("echo: " + in.readLine());
}
out.close();
in.close();
stdIn.close();
echoSocket.close();
}
}找到here
发布于 2018-09-12 11:51:35
这是预期行为,IOException发出信号表示没有可读取的内容,很可能是套接字没有正确连接。此问题应结束。
https://stackoverflow.com/questions/5397665
复制相似问题