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

第十二讲网络编程.ppt

  1. 1、本文档共57页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十二讲网络编程

Java程序设计 第十一章 网络编程 本讲内容 1、Java与Internet 2、使用InetAddress 3、使用URL 4、Socket通信 5、数据报通信 网络编程的目的 直接或间接地通过网络协议与其他计算机进行通信。 首先要解决两个问题 1、如何准确定位网络上的一台或多台主机。 2、找到主机后如何可靠、高效地进行数据传输。 TCP/IP协议 在TCP/IP网络中,不同的机器之间进行通信时,数据的传输是由传输层控制的,这包括数据要发往的目标机器及应用程序、数据的质量控制等。 TCP/IP网络中最常用的传输协议就是TCP(Transport Control Protocol)和UDP(User Datagram Protocol)。 传输层通常以TCP和UDP协议来控制端点到端点的通信。用于通信的端点是由Socket来定义的,Socket是由IP地址和端口号组成的。 3、基于URL对象的网络编程 URL是统一资源定位符(Uniform Resource Locator)的简称,它表示Internet上某一资源的地址。Internet上的资源包括HTML文件、图象文件、声音文件、动画文件以及其他任何内容(并不完全是文件,也可以是一个对数据库的查询等)。 通过URL,就可以访问Internet。浏览器或其他程序通过解析给定的URL就可以在网络上查找相应的文件或其他资源。 7、基于Socket(套接字)的网络编程 Java中,在TCP协议下的数据交换是通过套接字(Socket)方式实现的,Socket是TCP/IP协议的编程接口,利用Socket提供的一组API就可以编程实现TCP/IP协议。 网络上的两个程序通过一个双向的通讯链接实现数据的交换,这个双向链路的一端称为一个Socket Socket通讯通常实现客户方和服务器方的链接。 套接字简介 Java中有两个套接字类: (1) 基于数据流的ServerSocket类,服务器用它“侦听”进入链接。 (2)Socket类,客户用它来建立此次链接。它在客户端和服务器端都存在。 ServerSocket类中的accept方法使服务器处于阻塞状态,等待用户请求。 典型课本举例 P363 例15-4 P367例15-5 P371例15-7 作业 认真学习本节内容,仔细分析和调试15.4节的所有例程。 JAVA高级应用 1、RMI(远程方法调用) 2、JDBC(JAVA数据库连接) 3、Servlet/JSP 4、JavaBeans 5、EJB(Enterprise Java Bean) 10、Socket通信 ——简单的Client/Server 在本地机器上测试网络程序用回绕地址 Socket socket = new Socket(“”, 4444); 建立socket连接后,还应该建立输入输出数据流。 要控制好输入/输出流和Socket关闭的时间。 如果网络的一端已经关闭,另一端读到null。 在运行时,服务器端程序一般应先行启动。 Server1(1111) client(2222) Server2(2222) client(1111) Server 解决方案一: 在一台计算机上一次启动多个服务器程序,只要端口号不同。 myserver1 --------myclient1 myserver2--------myclient2 10、Socket通信 ——支持多Client 解决方案二: 将服务器写成多线程的,不同的处理线程为不同的客户服务。主线程只负责循环等待,处理线程负责网络连接,接收客户输入的信息。 //主线程 while (true) { accept a connection ; create a thread to deal with the client ; }end while 10、Socket通信 ——支持多Client Server client1 client2 serverthread2 serverthread1 …… 10、Socket通信 ——支持多Client serverSocket = new ServerSocket(4444); while (listening) { Socket socket; socket = serverSocket.accept(); //程序将在此等候客户端的连接 new MultiTalkServerThread(socket, clientNumber).start(); clientNumber++; //记录客户数目

文档评论(0)

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

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

1亿VIP精品文档

相关文档