java语言网络编程.ppt
《java语言网络编程.ppt》由会员分享,可在线阅读,更多相关《java语言网络编程.ppt(42页珍藏版)》请在三一办公上搜索。
1、1,Java网络编程,2,Java与网络,Java语言取得成功的领域之一就是网络(其他语言)数页代码-(Java)一条语句TCP/IP(传输控制协议/网间协议)是internet的主要协议,定义了计算机和外设进行通信所使用的规则(应用层,传输层,网络层,链路层).大多数基于internet的应用程序被看作TCP/IP协议的上一层.如:ftp,http,smtp,pop3,telnet,nntp等IP地址:TCP/IP网络中的每台计算机都有唯一的地址-IP地址.在Java中,有一个用来存储internet地址的类叫InetAddress.,3,网络层次,4层网络结构:,4,传输层的两个基本协议,
2、1 TCP协议:确保以发送时的顺序接受,丢包重新传递,数据对于连接太快TCP会调整速度等2UDP协议:允许接受方检测被破坏的包,不保证这些包正确的顺序传输。实时的音频或视频应用程序经常使用。如果UDP有纠错功能一般由应用层来实现,如TFTP等。UDP本身没有此功能,5,Java网络编程,Java的网络编程是建立在传输层之上的,我们可以创建自己的应用层协议。Java仅支持TCP和UDP。(ICMP不支持)Java已经给我们提供好了基于传输层协议的类(Stream Socket和 Datagram Socket)Java不能直接发IP数据包,6,TCP协议的实现,Socket是实现TCP协议的基本
3、工具,Socket对程序员掩盖了网络底层实现的细节。如:纠错,重传,网络地址等Socket是网络上运行的程序之间双向通信链路的最后终结点IP与端口的组合得出一个套接字,可以完全分辨internet上运行的程序,7,Socket概念,端口号:TCP/IP协议为每种服务定义了一个端口,当一台计算机上运行不同服务器程序时,根据端口号不同提供相应的服务.端口号不是计算机上的物理连接器,它只是具有软件意义的假想端口,8,Socket的功能,1连接远程机器2发送数据3接受数据4关闭连接5绑定端口6监听入站数据7在所绑定得端口上接受来自远程的连接,9,Socket类,Socket类用代码通过主机操作系统的本
4、地TCP栈进行通信。Socket为用户提供的接口是流。,10,Socket类,11,Socket类(续),程序员只需把传输内容转化为流,12,客户端Socket,构造函数:public Socket(String host,int port)throws unknownHostException,IOExceptionSocket socket=new Socket(“time.nist.gov”,80);含义:1 创建一个socket对象2尝试连接主机主机名不存在或服务器没运行unknownHostException其他原因抛:IOException,13,客户端Socket(续),14,时
5、间协议的使用,使用Socket完成一些应用层的协议。,15,时间协议的使用,16,客户端Socket(续),Socket使用之后要注意关掉.一般来说socket确实会在两个流的一个关闭后或在被垃圾回收时自动关闭。但是对于敏感的程序,在垃圾回收介入之前,系统会很快到达能打开的socket上限。尤其是跟很多硬件设备打交道的软件系统。,17,客户端Socket(续),18,半关闭Socket,close()方法同时关闭Socket的输入和输出但JDK提供了shutdownInput()和shutdownOutput的方法,19,Socket异常,BindException没有权限使用Socket,想
6、使用的端口被别的应用占用ConnectException主机忙或没有监听该端口的进程NoRouteHostException表示连接超时ProtocolException表示网络接受的数据违反TCP/IP规范,20,ServerSocket,服务器Socket等待连接而客户端Socket发起连接。一旦ServerSocket建立起来连接,服务器就是用一个正常的Socket对客户端发送数据。,21,ServerSocket基本流程,22,ServerSocket的构造函数,构造函数:public ServerSocket(int port)throws BindException,IOExcep
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 语言 网络 编程
链接地址:https://www.31ppt.com/p-5436229.html