看书中的一个例子,有些不懂。服务器端:InputStreamins=client.getInputStream();InputStreamReaderisr=newInputStreamReader(ins);BufferedReaderbr=newBufferedReader(isr);Output...
看书中的一个例子,有些不懂。
服务器端:
InputStream ins = client.getInputStream();
InputStreamReader isr = new InputStreamReader(ins);
BufferedReader br = new BufferedReader(isr);
OutputStream os = client.getOutputStream();
PrintStream ps = new PrintStream(os);
while(true){
String s = br.readLine();
if(s.equals("exit")){
ps.println("exit");
ps.flush();
break;
}
ps.println(s.toUpperCase());
ps.flush();
}
客户端:
Socket socket = new Socket("127.0.0.1", 8888);
boolean flag = true;
OutputStream os = socket.getOutputStream(); //得到输出流
PrintStream ps = new PrintStream(os); //封装输出流
InputStream is = socket.getInputStream(); //得到输入流
InputStreamReader isr = new InputStreamReader(is); //封装输入流
BufferedReader br = new BufferedReader(isr); //封装输入流
String s = null;
BufferedReader BR = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入小写字母,服务器会将其转换成大写字母");
while(flag){
System.out.println("请输入:");
String temp = BR.readLine();
ps.println(temp);
if((s=br.readLine())!=null){
if(s.equals("exit")) flag=false;
System.out.println("服务器返回转换信息:"+s);
}
}
socket.close();
1.这里 客户端的 s=br.readLine())!=null,br里面的内容是怎么来的?是通过我从键盘输入的时候自动加入到br中的么?
2.客户端的ps.println(temp);这句话是将键盘的内容写入到输出流中么?那怎么服务端是
先 String s = br.readLine();从输入流读入数据,再ps.println(s.toUpperCase());写入 输入?
刚接触这,很多不懂,麻烦讲解下,不胜感激。。。
展开