Java程序设计基础教程((慕课版)(第2版) 课件 第11单元 网络编程.pptx
第11单元网络编程Java程序设计基础教程((慕课版)(第2版))
目录导航11.1网络协议11.3UDP通信11.2TCP通信11.4项目实战11.5单元小结
11.1.1TCP及UDPTCP/IP(TransmissionControlProtocol/InternetProtocol)叫作传输控制协议/互联网协议,又叫作网络通信协议,是互特网中使用的基本通信协议。该协议包含两个保证数据完整传输的重要协议,即TCP和IP,同时包含上百种其他功能的协议。UDP是UserDatagramProtocol的简称,中文名是用户数据报协议,是OSI(OpenSystemInterconnection,开放系统互连)参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。UDP无须三次握手确保连接双方都已准备就绪就可以传输数据。因为免去了三次握手,所以其消耗的服务器负载要远小于TCP/IP。套接字(Socket)是TCP/IP中的基本概念,负责将TCP/IP包发送到指定的IP地址。它可以看作两个程序通信连接中的端点。数据被写入套接字中后,该套接字将数据发送到另一个套接字中,使数据能够传送给其他程序。URL是对可以从互联网上得到的资源位置和访问方法的一种简洁表示,是互联网上资源的标准地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。URL由Internet资源类型(http或ftp等)、服务器地址(host)、端口(port)和资源在服务器上的位置组成。
任务11-1URL类和URLConnection类的使用文件URLDemo.javapublicclassURLDemo{publicstaticvoidmain(String[]args){try{URLurl=newURL(/index.html);System.out.println(默认端口是:+url.getDefaultPort());//打开一个URLConnection类对象URLConnectionurlConn=url.openConnection();//获取请求头MapString,ListStringmap=urlConn.getHeaderFields();for(EntryString,ListStringentry:map.entrySet()){System.out.println(entry.getKey()+:+entry.getValue());}System.out.println(content-type:+urlConn.getContentType());System.out.println(是否获取用户缓存:+urlConn.getDefaultUseCaches());}catch(MalformedURLExceptione){e.printStackTrace();}catch(IOExceptione){e.printStackTrace();}}}运行结果如图11-1所示。
11.1.2IP地址及端口号IP地址具有唯一性,用于唯一标识网络中的一台设备。IPv4(InternetProtocolVesion4,网际协议版本4,现行的IP版本)地址由4个小于256的字节组成,这些字节通过以“.”连接的32位字符串来表示,如24;IPv6(InternetProtocolVersion6,网际协议版本6)则使用8个16位的无符号整数,通过用冒号“∶”隔开表示,例如6dfe:3312:1123:12df:dfdd:123s:fed2:ss4e。Java网络包中提供了Inet4Address类和Inet6Address类,分别对应IPv4和IPv6地址。由于IP地址是数字标识,难于记忆和书写,所以在IP地址的基础上又发展出一种符号化的地址方案,来代替数字型的IP地址,每一个符号化的地址与特定的IP地址对应。因为符号化的地址有其对应的意义和内容,所以记忆和书写都非常方便。这些符号化的地址就是域名,例如人民邮电出版社的域名就是。但域名不能直接被网络设备所识别,需要域名服务器(DomainNameServer,DNS)对域名与IP地址做对应的转换。计算机端口对应的英文是port。硬件中的端口也称接口;在软件中,端口一般是指网络中面