第九讲Socket客户机、服务器程序的编写详解.ppt

第九讲Socket客户机、服务器程序的编写详解.ppt

  1. 1、本文档共68页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
学习要求: 掌握URL的概念及使用方法 掌握Socket通信的原理和程序创建方法 理解数据报通信的原理,掌握数据库通信程序的创建方法;本章内容: Java网络基础 使用InetAddress 使用URL访问网络资源 TCP Socket通信 ;Java的网络通信分为三个层次: 最高一级的网络通信就是从网络上下载Applet。客户端浏览器通过HTML文件中的applet标记来识别Applet,并解析Applet的属性,通过网络获取Applet得字节码文件。—由浏览器提供;Java网络通信三层次: applet声音播放和图象显示,其中声音文件和图象文件的获取是次一级的通信。通过类URL的对象指明文件所在位置,并从网络上下载声音和图象文件。—由Java开发环境提供 ;Java网络通信三层次: 最低一级的通信是利用包中提供的类直接在程序中实现网络通信。—由Java语言开发包提供; TCP/IP是Internet的主要协议,定义了计算机和外设进行通信所使用的规则。TCP/IP网络参考模型包括五个层次:应用层、传输层、网络层、链路层、物理层。 ; ISO/OSI网络参考模型则包括七个层次:应用层、表示层、会话层、传输层、网络层、链路层、物理层。 大多数基于Internet的应用程序被看作TCP/IP网络的最上层, 如:ftp,http,smtp,pop3,telnet等。 ; 网络层对TCP/IP网络中的硬件资源进行标识。连接到TCP/IP网络中的每台计算机(或其他设备)都有唯一的地址,这就是IP地址。IP地址实质上是一个32位的整数,通常以“点分十进制”的形式表示。 ; TCP/IP网络中,不同机器之间通信时,数据的传输由传输层控制,常用的传输协议:TCP和UDP。 一台机器只通过一条链路连接到网络上,但一台机器往往有很多应用程序需要进行网络通信,如何区分呢? ; 端口号:标记机器的逻辑通信信道的正整数,不是物理实体。 IP地址和端口号组成Socket,Socket是网络上运行的程序之间双向通信链路的最后终结点,是TCP和UDP的基础。 ; IP与端口号组合而得出的Socket,可以完全分辨Internet上运行的程序。 ; 端口号:16位的整数,范围:0~65535 0~1023:系统保留,通用服务 例如:80:http 21:telnet 23:ftp 我们编写通信程序时,应选择一个大于1023的数作为端口号,以免发生冲突。; 针对网络通信的不同层次,Java提供的网络功能有四大类:InetAddress 、URL、Sockets、Datagram。 URL面向应用层,通过URL对象Java程序可以直接送出或读入网络上的数据 InetAddress面向IP层,用于标识网络上的硬件资源。 ;Sockets和Datagram面向的则是传输层 Sockets使用TCP协议,通过网络的通信信道进行通信; Datagram使用UDP协议,把数据的目的地记录在数据包中,然后直接放在网络上。;J包 面向应用层的类:URL、URLConnection 面向IP层的类:InetAddress; 面向传输层: TCP:Socket、ServerSocket UDP:DatagramPacket、DatagramSocket、MulticastSocket;可能产生的异常: BindException、ConnectException、MalformedURLException、 ProtocolException、 NoRouteToHostException、SocketException、UnknownHostException、UnknownServiceException; 类InetAddress用于标识网络上的硬件资源,提供了一系列方法以描述、获取及使用网络资源。 InetAddress类没有构造函数,不能用new来构造一个InetAddress实例。通常用它提供的静态方法来获取:;public static InetAddress getByName(String?host) host可以是一个机器名,也可以是一个形如“%d.%d.%d.%d”的IP地址或一个DSN域名。 public static InetAddress getLocalHost() public static InetAddress[] getAllByName(String?host) 这三个方法通常会产生UnknownHostException例外,应在程序中捕获

文档评论(0)

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

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

1亿VIP精品文档

相关文档