前言
上文已经学习了socket的一些基础知识https://www.jianshu.com/p/15edcafb3013,我们接着学习一下Socket在实际应用中的读写操作。
转载请注明:https://www.jianshu.com/p/4ddb7b56f8cf
正文
我们使用BufferedReader从Socket上读取数据,用串流来通过Socket连接来沟通。Java一个优点就是大部分输入输出工作不在乎链接串流的上游实际上是什么。也即是说我们可以使用BufferedReader而不管串流是来自文件还是Socket。
1,建立对服务器的Socket连接
Socket chatSocket = new Socket ( " 127.0.0.1 " , 5000 );
2,建立连接到Socket上底层输入的串流的InputStreamReader(底层和高层串流间的桥梁)
InputStreamReader stream = new InputStreamReader ( chatSocket.getInputStreamReader() );
3,建立BufferedReader来读取
BufferedReader reader = new BufferedReader ( stream );
String message = reader.readLine ();
使用PrintWriter写数据到Socket上(当然也可以使用BufferedWriter,在此不赘述)
1,建立Socket连接
Socket chatSocket = new Socket ( " 127.0.0.1 " , 5000 );
2,建立链接到Socket的PrintWriter(字符数据和字节间的转换桥梁,可以衔接String和Socket 两端)
PrintWriter writer= new PrintWriter( chatSocket.getInputStreamReader() );
3,写入数据
writer.println("message to send"); //会在送出的数据后面加上换行
writer.print("another message"); //不会换行
后记
时间是很公平的,一分耕耘未必一分收获,十分耕耘必有一分收获。