我有一个关于从与套接字相关的输入流中读写的问题。例如,我有
ServerSocket testie = new ServerSocket(0);
Socket putClient = new Socket("localhost",testie.getLocalPort());
InputStream is = putClient.getInputStream();
OutputStream os = putClient.getOutputStream();
os.write("testt".getBytes());
System.out.println(convertStreamToString(is));
但是奇怪的是从未打印过“testt”。方法convertStreamToString
来自
public static String convertStreamToString(java.io.InputStream is) {
java.util.Scanner s = new java.util.Scanner(is).useDelimiter("\\A");
return s.hasNext() ? s.next() : "";
}
我对流和套接字的理解是否存在一些缺陷。我认为如果您写入套接字的输出流,您可以从其输入流中检索它吗?该方法只是无限期地挂起。