java程序设计 教学 教案 课件 12.pptVIP

  • 2
  • 0
  • 约2.64千字
  • 约 23页
  • 2017-08-23 发布于河南
  • 举报
第十二章 Java 网络基本知识 第十一章 输入/输出流(I/O流) 12.1 使用URL Internet寻址 使用URL定位资源 客户机与服务器 例子 12.1 使用URL Internet寻址: TCP/IP协议(Transmission Control Protocol/Internet Protocol) TCP/IP协议与低层的链路层和物理层无关,传输以地址为目的地。 IP地址由三十二个二进制构成,八位一组换成4个十进制表示,之间用点分割,如: IP名字地址:计算机名.机构名.网络分类名.国家名(域名) 例:/ 这种IP要通过域名服务器DNS(doamin naming server)来翻译成真实的IP 12.1 使用URL 使用URL定位资源: URL(Uniform Resource Locators统一资源定位符) 指向Web页、二进制文件 包含协议、IP地址、资源 例:/index.htm 12.1 使用URL 客户与服务器: 客户机/服务器(Client/Server)模式;将计算机工作任务分别由客户端和服务器端来共同完成 Browser/server(B/S)结构,它也是采用C/S结构的基本思想,使用浏览器作为系统前端,实现了我们理想中的瘦客户 客户机的作用是访问和处理远程服务器上的数据,服务器的作用是接收和处理客户机的数据请求。 有时,可能有多个客户向同一个服务器同时请求服务,这就需要服务器决定怎样处理这些请求。因此,在许多客户机/服务器结构中,除了客户机和服务器外,也可以还有其它部分,通常讲的三层客户机/服务器结构中的中间层。 12.1 使用URL 创建URL: Public URL(String s) url=new URL(“”) 在Applet中链接到另外的Web页面文件: getAppletContext().showDocument(url); 12.1 使用URL 例子1 12.2 套接字 套接字: IP地址+端口号 客户负责建立客户到服务器的套接字连接。 建立:Socket(String host,int port) MySocket=new Socket(“http://…”,1800); 获得输入流:getInputStream() , DataInputStream() 获得输出流: getOutputStream() , DataOutputStream() 12.2 套接字 ServerSocket类: 服务器建立一个等待接收客户的套接字的ServerSocket对象。 构造:ServerSocket(int port) server_socket=new ServerSocket(1800); 接收客户的套接字连接呼叫: server_socket.accept(); 建立连接后获得IP地址和域名:getInetAddress() 关闭套接字连接:sc.Close(); 12.2 套接字 例子2: 12.2 套接字 例子3: 12.3 InetAddress类 地址: 域名: IP: 10 J包中有InetAddress类对象含有Internet的主机地址和域名 获得主机地址:getByName(String s);得到:“域名/IP” 获得InetAddress对象所含的域名:getHostName() 、获得IP地址: getHostAddress() 获得本机地址:getLocalHost( ) 12.3 InetAddress类 例子4: 12.4 UDP数据报 TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。 UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去! 12.4 UDP数据包 打包: DatagramPacket(byte data[],int length,InetAddress address,int port); DatagramPacket(byte data[],int offset,int length,InetAddress address,int port); getPort():获取数据包目标端口号 getAddress():获取数据包的目标地址 Public byte[] getData():获取数据包中的数据。 12.4 UDP数据包 发送: 采用DatagramSocket类的不带有参数的构造方法:DatagramSocket()创建一个对象,该对象负责发送数据包。 例子: Data

文档评论(0)

1亿VIP精品文档

相关文档