1 / 48
文档名称:

用Java编写客户服务器程序.ppt

格式:ppt   大小:315KB   页数:48页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

用Java编写客户服务器程序.ppt

上传人:63229029 2017/6/8 文件大小:315 KB

下载得到文件列表

用Java编写客户服务器程序.ppt

相关文档

文档介绍

文档介绍:用 Java 编写客户/服务器程序?在 Java 中,有三种套接字类: .Socket 、.ServerSocket 和 DatagramSocket 。其中 Socket 和 ServerSocket 类建立在 TCP 协议基础上, DatagramSocket 类建立在 UDP 协议基础上。?传输层向应用层提供了套接字 Socket 接口, Socket 封装了下层的数据传输细节,应用层的程序通过 Socket 来建立与远程主机的连接以及进行数据传输。图 1-18 套接字可看过是通信连接两端的收发器 创建 EchoServer 图 1-19 服务器与客户利用 ServerSocket 和 Socket 来通信 创建 EchoServer ?服务器程序通过一直监听端口,来接收客户程序的连接请求。在服务器程序中,需要先创建一个 ServerSocket 对象,在构造方法中指定监听的端口: ServerSocket server=new ServerSocket(8000); // 监听 8000 端口? ServerSocket 的构造方法负责在操作系统中把当前进程注册为服务器进程。服务器程序接下来调用 ServerSocket 对象的 accept() 方法,该方法一直监听端口,等待客户的连接请求,如果接收到一个连接请求, accept() 方法就会返回一个 Socket 对象,这个 Socket 对象与客户端的 Socket 对象形成了一条通信线路: Socket socket = (); // 等待客户的连接请求 创建 EchoServer ? Socket 类提供了 getInputStream ()方法和 getOutputStream ()方法,分别返回输入流 InputStream 对象和输出流 OutputStream 对象。程序只需向输出流写数据,就能向对方发送数据;只需从输入流读数据,就能接收来自对方的数据。?与普通 I/O 流一样, Socket 的输入流和输出流也可以用过滤流来装饰。在以下代码中,先获得输出流,然后用 PrintWriter 装饰它, PrintWriter 的 println ()方法能够写一行数据;以下代码接着获得输入流,然后用 BufferedReader 装饰它, BufferedReader 的 readLine ()方法能够读入一行数据: OutputStream socketOut = (); //参数 true 表示每写一行, PrintWriter 缓存就自动溢出,把数据写到目的地 PrintWriter pw=new PrintWriter(socketOut, true ); InputStream socketIn = (); BufferedReader br =new BufferedReader(new InputStreamReader(socketIn )); 创建 EchoServer ?例程 1-2 1. import .*; 2. import .*; 3. public class EchoServer { 4. private int port=8000; 5. private ServerSocket serverSocket ; 6. public EchoServer () throws IOException { 7. serverSocket = new ServerSocket(port ); 8. ("服务器启动"); 9. } 10. public String echo(String msg ) { 11. return "echo:" + msg ; 12. } 13. private PrintWriter getWriter(Socket socket)throws IOException { 14. OutputStream socketOut = (); 创建 EchoServer 15. return new PrintWriter(socketOut,true ); 16.