网站大量收购闲置独家精品文档,联系QQ:2885784924

用Java 编写客户服务器课案.ppt

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1.5 用Java 编写客户/服务器程序 在Java中,有三种套接字类:.Socket、.ServerSocket和DatagramSocket。其中Socket和ServerSocket类建立在TCP协议基础上,DatagramSocket 类建立在UDP协议基础上。 传输层向应用层提供了套接字Socket 接口,Socket 封装了下层的数据传输细节,应用层的程序通过Socket来建立与远程主机的连接以及进行数据传输。 1.5.1 创建EchoServer 1.5.1 创建EchoServer 服务器程序通过一直监听端口,来接收客户程序的连接请求。在服务器程序中,需要先创建一个ServerSocket对象,在构造方法中指定监听的端口: ServerSocket server=new ServerSocket(8000); //监听8000端口 ServerSocket的构造方法负责在操作系统中把当前进程注册为服务器进程。服务器程序接下来调用ServerSocket 对象的accept()方法,该方法一直监听端口,等待客户的连接请求,如果接收到一个连接请求,accept()方法就会返回一个Socket 对象,这个Socket对象与客户端的Socket对象形成了一条通信线路: Socket socket=server.accept(); //等待客户的连接请求 1.5.1 创建EchoServer Socket 类提供了getInputStream()方法和getOutputStream()方法,分别返回输入流InputStream 对象和输出流OutputStream 对象。程序只需向输出流写数据,就能向对方发送数据;只需从输入流读数据,就能接收来自对方的数据。 与普通I/O流一样,Socket 的输入流和输出流也可以用过滤流来装饰。在以下代码中,先获得输出流,然后用PrintWriter 装饰它,PrintWriter 的println()方法能够写一行数据;以下代码接着获得输入流,然后用BufferedReader 装饰它,BufferedReader 的readLine()方法能够读入一行数据: OutputStream socketOut = socket.getOutputStream(); //参数true 表示每写一行,PrintWriter缓存就自动溢出,把数据写到目的地 PrintWriter pw=new PrintWriter(socketOut,true); InputStream socketIn = socket.getInputStream(); BufferedReader br=new BufferedReader(new InputStreamReader(socketIn)); 1.5.1 创建EchoServer 例程1-2 EchoServer.java import java.io.*; import .*; public class EchoServer { private int port=8000; private ServerSocket serverSocket; public EchoServer() throws IOException { serverSocket = new ServerSocket(port); System.out.println(服务器启动); } public String echo(String msg) { return echo: + msg; } private PrintWriter getWriter(Socket socket)throws IOException{ OutputStream socketOut = socket.getOutputStream(); 1.5.1 创建EchoServer return new PrintWriter(socketOut,true); } private BufferedReader getReader(Socket socket)throws IOException{ InputStream socketIn = socket.getInputStream(); return new BufferedReader(new Input

文档评论(0)

502992 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档