关于某个问题:
在服务器端和客户端产生一个Socket 后,
两边各自用getIputStream()和getOutputStream()方法,构造各自的输入输出流。
其中服务器端的Socket ss
BufferedReader is=new BufferedReader(new InputStreamReader(ss.getInputStream()) );
PrintWriter os=new PrintWriter (new OutputStreamWriter(ss.getOutputStream()) );
os.writer(“一个乱七八糟的字符串”);
客户端的Socket cs
BufferedReader is=new BufferedReader(new InputStreamReader(cs.getInputStream()) );
PrintWriter os=new PrintWriter (new OutputStreamWriter(cs.getOutputStream()) );
System.out.println(is.readLine());
(当然这两个肯定不是一个类文件中噢!)
按理说,应该是ss的 os对应着cs的 is. 为什么在服务器端写入了,在客户端这边没法读出来呢?
另外,如果服务器端用os.println(“字符串”);就好使了。
请问这是问什么?
源码分析根本原因:
write:
而println(举个例 其他print也是一样道理):
————print
————println(重点来了)
所以应了这个回答:
可以确定就是flush和\r\n的问题
不信?
这儿还真刷新和换行缺一都不可以额~