回 帖 发 新 帖 刷新版面

主题:C/S程序设计实例求救!(高手请进)

import java.io.*;
import java.net.*;
import java.applet.Applet;
public class Server{
    public static void main(String args[]) {
        try{
               ServerSocket server=null;
            try{ 
               server=new ServerSocket(4700); 
               
                  } catch(Exception e) {
                   System.out.println("can not listen to:"+e); 
                                    }
Socket socket=null
    try{
        socket=server.accept(); 
    
    }catch(Exception e) {        
         System.out.println("Error."+e); 
        //出错,打印出错信息
    }
    String line;
    BufferedReader is=new BufferedReader(new
                               InputStreamReader(socket.getInputStream()));
    
    PrintWriter os=new PrintWriter(socket.getOutputStream());//谁知道上两句代码有什么作用???
BufferedReader sin=new BufferedReader(new     InputStreamReader(System.in));
        
        System.out.println("Client:"+is.readLine()); 
        
                line=sin.readLine(); 
            while(!line.equals("bye")){ 
                os.println(line); 
                 os.flush(); 
        
        System.out.println("Server:"+line);
         System.out.println("Client:"+is.readLine());
            
            line=sin.readLine(); 
                    } //继续循环
        os.close(); //关闭Socket输出流
        is.close(); //关闭Socket输入流
            socket.close(); //关闭Socket
            server.close();//关闭ServerSocket
    }catch(Exception e){
        System.out.println("Error:"+e);
         
    }
  }
}
 

回复列表 (共1个回复)

沙发

BufferedReader is=new BufferedReader(new
                               InputStreamReader(socket.getInputStream()));
    
    PrintWriter os=new PrintWriter(socket.getOutputStream());//谁知道上两句代码有什么作用???


socket.getInputStream() //获取socket的输入流管道
new InputStreamReader (socket.getInputStream())//将上面的InputStream流装换成Reader流
new BufferedReader(new InputStreamReader(socket.getInputStream()));//将上面的Reader流转换成带缓冲区的Reader流

后面同样的理解方式。。。
目的吗;InputStream只能读字节 读不了中文
Reader能读字符。。 
BufferedReader是为了能用readLine();   

我来回复

您尚未登录,请登录后再回复。点此登录或注册