java程序设计案例教程Java网络应用.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 Java网络应用 4.1 Java的Socket编程概述 4.2 实例1 网络编程示例 4.3 实例2 客户端之间通信的聊天室 4.4 实例3 Java编程实现搜索网络服务器 4.5 实例4 用Java编写Web服务器 4.6 实例5 用Java实现P2P网络通信 4.7 实例6 基于URL的Web服务器数据访问 4.1 Java的Socket编程概述 4.1.1 充分理解Socket 1.什么是Socket 所谓Socket通常也称为“套接字”,用于描述IP地址和端口,是一个通信链的句柄。建立网络连接时要使用“套接字”,应用程序通过“套接字”向网络发出请求或者应答网络请求。 Socket和ServerSocket类位于包中。ServerSocket用于服务器端,Socket用于客户端,它们统称为Socket。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别。 2.重要的Socket API .Socket继承于java.lang.Object,有八个构造器,其方法并不多,下面介绍使用最频繁的三个方法: Accept()方法用于产生“阻塞”,直至接收到来自客户端的一个连接,并且返回客户端的Socket对象实例。“阻塞”是一个术语,它使程序运行暂时“停留”在这个地方,直到一个会话产生,然后程序继续;通常“阻塞”是由循环产生的。 GetInputStream( )方法获得网络连接输入,同时返回一个IutputStream对象实例。 GetOutputStream( )方法连接的另一端将得到输入,同时返回一个OutputStream对象实例。 注意:其中getInputStream( )和getOutputStream( )方法均会产生一个IOException,它必须被捕获,因为它们返回的流对象通常都会被另一个流对象使用。 4.1.2 客户端/服务器模式程序设计原理 服务器使用ServerSocket监听指定的端口,端口可以随意指定(由于1024以下的端口通常属于保留端口,在一些操作系统中不可以随意使用,所以一般使用大于1024的端口),等待客户连接请求,客户连接后,会话产生;在完成会话后,关闭连接。 4.2 实例1 网络编程示例 本例由客户端程序和服务器程序两部分组成。 1.客户端程序 /***************************************** * 程序文件名称:SClient.java * 功能:客户端程序,使用套接字连接服务器 ******************************************/ import java.io.*; import .*; public class SClient { public static void main(String args[ ]) { String s=null; Socket mysocket; DataInputStream in=null; DataOutputStream out=null; try{ //创建一个可以连接到Server的套接字,其端口为4321 mysocket=new Socket(“localhost”,4321); 2.服务器端程序 /************************************** * 程序文件名称:SServer.java * 功能:远程数据传输服务器端程序 **************************************/ import java.io.*; import .*; public class SServer { public static void main(String args[ ]) { ServerSocket serverS=null; Socket youS=null; String s=null; DataOutputStream out=null; DataInputStream in=null; //创建Server的套接字,设定其端口为4321 try{ serverS=new ServerSocket(4321);} catch(IOException e1){System.out.println(“ERRO:”+e1);} try{ //使用accept(

文档评论(0)

duwen200621 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档