JSP课件-01Socket编程.ppt
《JSP课件-01Socket编程.ppt》由会员分享,可在线阅读,更多相关《JSP课件-01Socket编程.ppt(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、运行环境:运行环境:Office XP版版 本:本:ACCP 4.0课课 程:程:JSP作作 者:者:LuckyJSP序幕序幕-ISocket编程编程课程地位C#SQL ServerXMLPSPMASP.NETOracleOOADComputer BaseHTML/JavaScriptSQL BaseOOP/JavaCSTBJSP/ServletEJB/WebServiceWinFormsStruts/JSFTesting/SQALinux回顾Java课程Java语言的基本语法语言的基本语法OOP思想思想封装、继承和多态封装、继承和多态异常处理异常处理java.lang包、包、java.uti
2、l包、包、java.io包包JDBC数据库访问技术数据库访问技术Swing编程编程使用使用JBuilder 2005进行程序开发进行程序开发课程整体目标掌握网络通讯和线程的基本原理掌握网络通讯和线程的基本原理理解理解Web应用及开发的基本概念应用及开发的基本概念掌握掌握Servlet、会话管理、会话管理、Filter和和JavaMail掌握掌握JSP、JSP EL和和JSTL开发基于开发基于MVC模式的模式的Java Web应用程序应用程序本章相关词汇单单 词词说说 明明Internet Protocol(IP)互联网协议互联网协议net网络,网状物网络,网状物socket套接字,插座套接字,
3、插座server服务器,服务端服务器,服务端client客户,客户端客户,客户端port端口端口accept接收,认可接收,认可本章目标网络基础知识网络基础知识IP地址与端口地址与端口包包InetAddressSocketServerSocket扩展扩展IO流的相关知识流的相关知识计算机网络与通信通信是人类生活中最重要的需求之一;通信是人类生活中最重要的需求之一;通信是指:对语言、文字、声音和图片以及其它任通信是指:对语言、文字、声音和图片以及其它任何类型的相关数据进行传输;何类型的相关数据进行传输;计算机的出现以及网络的构成,使得数据通信更加计算机的出现以及网络的构成,使得数据通信更加快速有
4、效。快速有效。网络原理网络就是一组连接在一起的计算机。网络就是一组连接在一起的计算机。使用网卡、电缆、集使用网卡、电缆、集线器等连接设备连接线器等连接设备连接计算机以组成网络。计算机以组成网络。客户端/服务器模式网络发展,促使客户端网络发展,促使客户端/服务器模式应运而生;服务器模式应运而生;通过网络,向另一台计算机请求服务的计算机称为通过网络,向另一台计算机请求服务的计算机称为客户端,而处理请求的计算机称为服务器;客户端,而处理请求的计算机称为服务器;如数据服务器,需要数据的客户端机器向数据服务如数据服务器,需要数据的客户端机器向数据服务器提出请求,而服务器则处理客户端的请求并向其器提出请求
5、,而服务器则处理客户端的请求并向其发送所需的数据;发送所需的数据;客户端客户端/服务器的优势在于:服务器的优势在于:服务器和客户端分摊任务,分别负责部分处理工作;服务器和客户端分摊任务,分别负责部分处理工作;服务器可以同时为多台客户端服务;服务器可以同时为多台客户端服务;多个客户端可以同时访问服务器上的相同数据。多个客户端可以同时访问服务器上的相同数据。IP地址网络中有多台计算机,它们必须通过某种标识来区网络中有多台计算机,它们必须通过某种标识来区分每一台机器,这就是分每一台机器,这就是IP地址;地址;IP地址由地址由4个字节共个字节共32位二进制数组成,类似于:位二进制数组成,类似于:192
6、.168.0.8;在网络寻找某一台计算机都是依靠它的在网络寻找某一台计算机都是依靠它的IP地址(用地址(用域名或计算机名定位主机其实也是通过某种服务转域名或计算机名定位主机其实也是通过某种服务转成成IP地址后再找到该主机的);地址后再找到该主机的);网络网络ID:网络:网络ID标识了计算机或网络设备所在的网段;标识了计算机或网络设备所在的网段;主机主机ID:主机:主机ID标识了特定的主机或网络设备标识了特定的主机或网络设备特殊IP地址许多网络地址被保留用于特殊用途;许多网络地址被保留用于特殊用途;0.0.0.0和和127.0.0.1就是两个此类地址,第一个称为就是两个此类地址,第一个称为缺省路
7、由,后一个是环回地址;缺省路由,后一个是环回地址;127.0.0.1被保留用于用户主机的本地被保留用于用户主机的本地IP话务,它被话务,它被分配给一个特殊接口,即起到闭合电路作用的环回分配给一个特殊接口,即起到闭合电路作用的环回接口。接口。端口在一台物理性的计算机中,往往运行着多个网络程在一台物理性的计算机中,往往运行着多个网络程序,一个序,一个IP地址并不足以完整标识一个服务器,因地址并不足以完整标识一个服务器,因此,端口是机器内部独一无二的场所;此,端口是机器内部独一无二的场所;一台计算机上可能同时运行多个网络程序,一台计算机上可能同时运行多个网络程序,IP地址地址只能确保把数据送到指定的
8、计算机,但不能保证把只能确保把数据送到指定的计算机,但不能保证把这些数据传递给哪个网络程序;这些数据传递给哪个网络程序;端口使用一个端口使用一个16位的数字来表示,它的范围是位的数字来表示,它的范围是065535,1024以下的端口号保留给预定义的服务,以下的端口号保留给预定义的服务,如:如:http使用使用80端口;端口;网络间通信其实是在网络应用程序端口之间进行的。网络间通信其实是在网络应用程序端口之间进行的。包使用使用包可以实现包可以实现Java的网络功能,的网络功能,其中包含了一系列与网络通讯相关的类,比其中包含了一系列与网络通讯相关的类,比较重要的有:较重要的有:InetAddres
9、sSocketServerSocket如果要进行网络通讯编程的话,必须导入此如果要进行网络通讯编程的话,必须导入此包。包。.InetAddressInetAddress用来表示互联网协议(用来表示互联网协议(IP)地址,它的实例将)地址,它的实例将IP地址和地址和DNS(主机名解析)进行了封装;(主机名解析)进行了封装;该类无法直接实例化,只能通过下列静态工厂方法获得实例:该类无法直接实例化,只能通过下列静态工厂方法获得实例:方方 法法 原原 型型说说 明明static InetAddress getByName(String host)throws UnknownHostException在
10、给定主机名的情况下确定主机的在给定主机名的情况下确定主机的 IP 地址地址static InetAddress getLocalHost()throws UnknownHostException返回本地主机的返回本地主机的InetAddress对象对象static InetAddress getByAddress(byte address)throws UnknownHostException在给定原始在给定原始 IP 地址的情况下,返回地址的情况下,返回 InetAddress 对象对象static InetAddress getAllByName(String host)throws Un
11、knownHostException在给定主机名的情况下,根据系统上配置的在给定主机名的情况下,根据系统上配置的名称服务返回其名称服务返回其 IP 地址所组成的数组地址所组成的数组InetAddress示例import .*;/导入导入包包public class InetAddressDemo public static void main(String args)try /获得当前本地主机的获得当前本地主机的IP地址地址 InetAddress add1=InetAddress.getLocalHost();System.out.println(当前本地主机:当前本地主机:+add1);/
12、根据域名,通过根据域名,通过DNS域名解析,获得相应服务的主机地址域名解析,获得相应服务的主机地址 InetAddress add2=InetAddress.getByName();System.out.println(网易服务器主机:网易服务器主机:+add2);/根据字符串表现形式的根据字符串表现形式的IP地址获得相应的主机地址地址获得相应的主机地址(若果网络上有该若果网络上有该IP地址的话地址的话)InetAddress add3=InetAddress.getByName(192.168.0.22);System.out.println(IP地址为地址为192.168.0.22的主机:
13、的主机:+add3);/根据机器名获得相应的主机地址(如果网络上有该机器名的话)根据机器名获得相应的主机地址(如果网络上有该机器名的话)InetAddress add4=InetAddress.getByName(J104);System.out.println(机器名为机器名为J104的主机:的主机:+add4);catch(UnknownHostException uhe)uhe.printStackTrace();InetAddress的其它方法方方 法法 原原 型型说说 明明byte getAddress()返回此返回此 InetAddress 对象的原始对象的原始 IP 地址地址St
14、ring getHostAddress()返回此返回此 InetAddress 对象的对象的IP地址字符串地址字符串String getHostName()返回此返回此 InetAddress 对象的主机名称对象的主机名称boolean equals(Object other)判断两个判断两个IP地址是否相等地址是否相等String toString()返回此返回此 InetAddress 对象的字符串表现形式(主对象的字符串表现形式(主机名机名/IP地址)地址)套接字网络上计算机通过网络上计算机通过TCP/IP协议进行通信,而套接协议进行通信,而套接字(字(socket)则将这些通信协议进行
15、了封装;)则将这些通信协议进行了封装;TCP/IP套接字用于在主机和套接字用于在主机和Internet之间建立可靠之间建立可靠的、双向的、持续的、点对点的流式连接;的、双向的、持续的、点对点的流式连接;socket用于描述用于描述IP地址和端口,应用程序通过套接地址和端口,应用程序通过套接字向网络发出请求或者应答网络请求;字向网络发出请求或者应答网络请求;也就是说,套接字起到通信端点的作用;也就是说,套接字起到通信端点的作用;客户端和服务器通过套接字建立连接和通信。客户端和服务器通过套接字建立连接和通信。主机甲主机甲套接字通信原理A程序程序主机乙主机乙B程序程序TCP/IP协议协议网网 卡卡网
16、络管理软件网络管理软件socketsocket主机甲上的主机甲上的A程程序将一段数据写序将一段数据写入入socket中中 主机乙上的主机乙上的B程程序从序从socket中读中读取这段数据取这段数据 .SocketSocket类用于创建套接字对象,其构造方法共有类用于创建套接字对象,其构造方法共有9种重载,常用的有如下几种:种重载,常用的有如下几种:套接字会因为网络的连接中断而失效,所以对它的套接字会因为网络的连接中断而失效,所以对它的操作都有可能抛出操作都有可能抛出IOException构构 造造 方方 法法说说 明明Socket(InetAddress address,int port)th
17、rows IOException用预先存在的用预先存在的InetAddress对象和端口创建一对象和端口创建一个与本地主机连接的套接字个与本地主机连接的套接字Socket(String hostName,int port)throws UnknownHostException,IOException创建一个本地主机与给定名称的主机和端口创建一个本地主机与给定名称的主机和端口连接的套接字连接的套接字Socket的常用方法一旦一旦Socket对象被成功创建,就可以获得访问与之对象被成功创建,就可以获得访问与之相关的输入相关的输入/输出流的权力,通过流操作从套接字输出流的权力,通过流操作从套接字中发
18、送(输出)和接收(输入)数据:中发送(输出)和接收(输入)数据:方方 法法 原原 型型说说 明明InputStream getInputStream()throws IOException获得当前套接字的输入流获得当前套接字的输入流OutputStream getOutputStream()throws IOException获得当前套接字的输出流获得当前套接字的输出流void close()throws IOException关闭当前套接字关闭当前套接字Socket的其它方法使用下面的方法,可以在任何时候检查套接字的地使用下面的方法,可以在任何时候检查套接字的地址和与之相关的端口信息:址和与
19、之相关的端口信息:方方 法法 原原 型型说说 明明InetAddress getInetAddress()返回与当前套接字连接的远程主机的返回与当前套接字连接的远程主机的InetAddress对象,如果未连接,则返回对象,如果未连接,则返回nullint getPort()返回与当前套接字连接的远程主机端口返回与当前套接字连接的远程主机端口InetAddress getLocalAddress()返回与当前套接字绑定的本地主机的返回与当前套接字绑定的本地主机的InetAddress对象对象int getLocalPort()返回与当前套接字绑定的本地主机端口返回与当前套接字绑定的本地主机端口.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSP 课件 01 Socket 编程
限制150内