欢迎来到天天文库
浏览记录
ID:36442911
大小:605.60 KB
页数:58页
时间:2019-05-09
《《Java网络》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第9章网络通信1主要内容9.1网络编程的基础知识9.2基于TCP协议网络程序设计9.3基于UDP协议网络程序设计9.4JApplet编程9.5基于分布模式的云计算系统29.1网络编程的基础知识9.1.1IP地址和端口号9.1.2套接字39.1.1IP地址和端口号1、IP地址网络中的每台计算机都必须有一个惟一的IP地址作为标识,这个数通常写作一组由“.”号分隔的十进制数。49.1.1IP地址和端口号在Java.net包中,IP地址由一个称作InetAddress的特殊的类来描述。这个类提供了三个用来获得一个InetAddress类的实例的静态方法。这三个方法是:getLo
2、calHost()返回一个本地主机的IP地址。getByName(Stringhost)返回对应于指定主机的IP地址。getAllByName(Stringhost)对于某个主机有多个IP地址(多宿主机)可用于得到一个IP地址数组。此外,对一个InetAddress的实例可以使用:getAddress()获得一个用字节数组形式表示的IP地址。getHostName()作反向查询,获得对应于某个IP地址的主机名。5【例9-1】通过域名查找IP地址。核心语句:try{InetAddresszsm_address;zsm_address=InetAddress.getByNa
3、me("www.zsm8.com");str="思维论坛的IP地址为:"+zsm_address.toString();}catch(UnknownHostExceptione){str="无法找到思维论坛";}6【例9-2】查找本机IP地址。核心语句:try{InetAddresshost_address;host_address=InetAddress.getLocalHost();str="本机的IP地址为:"+host_address.toString();}catch(UnknownHostExceptione){str="本机没有安装网卡,无法找到IP。";
4、}79.1.1IP地址和端口号2、端口我们用“端口号”来标识正在计算机上运行的进程(程序)。每个被发送的网络数据包也都包含有“端口号”,,用于将该数据帧交给具有相同端口号的应用程序来处理。89.1.1IP地址和端口号2、端口端口号是一个整数,其取值范围为0~65535之间。由于同一台计算机上不能同时运行两个有相同端口号的进程。通常0~1023间的端口号作为保留端口号,用于一些网络系统服务和应用,用户的普通网络应用程序应该使用1024以后的端口号,从而避免端口号冲突。99.1.1IP地址和端口号3、TCP与UDP协议在网络中,有两个常用的协议,它们是“传输控制协议”(Tr
5、ansmissionControlProtocol,简称TCP)和“用户数据报协议”(UserDatagramProtocol,简称:UDP)。TCP是面向连接的通信协议,TCP提供两台计算机之间的可靠无差错的数据传输。UDP是无连接通信协议,UDP不保证可靠数据的传输。109.1.2套接字1、什么是套接字在TCP/IP通信协议中,套接字(Socket)就是IP地址与端口号的组合。如图所示,IP地址193.14.26.7与端口号13组成一个套接字。119.1.2套接字1、什么是套接字网络通信,准确地说,不能仅说成是两台计算机之间在通信,而是两台计算机上执行的网络应用程序
6、(进程)之间在收发数据。当两个网络程序需要通信时,它们可以通过使用Socket类建立套接字连接。我们把呼叫方称为“客户端”,负责监听的一方称为“服务器端”。129.1.2套接字2、客户端建立套接字Socket对象在客户端使用socket类,建立向指定服务器IP和端口号连接的套接字,其构造方法是:Socket(host_IP,prot);其中host_IP是服务器的IP地址,prot是一个端口号。Socket主要方法有:getInputStream():获得一个输入流,读取从网络线路上传送来的数据信息。getOutputStream():获得一个输出流,用这个输出流将数据
7、信息写入到网络“线路”上。139.1.2套接字3、服务器端建立套接字Socket对象在服务器端用ServerSocket类创建服务器Socket,ServerSocket类的构造方法为:ServerSocket(intport);创建ServerSocket实例是不需要指定IP地址的,ServerSocket总是处于监听本机端口的状态。ServerSocket类的主要方法:Socketaccept();该方法用于在服务器端的指定端口监听客户机发起的连接请求,并与之连接,其返回值为Socket对象。149.2基于TCP协议网络程序设计9.2
此文档下载收益归作者所有