Java中专门提供java。net包,方便开发网络程序。Java的网络编程包括了两种通信协议;【TCP(TransmissionControlProtocal)】【UDP(UserDatagramPrptocol)】IP地址 IP是互联网上的每一台计算机的唯一标记; IP可分为两类 【IPv4】32位,分4段,每段范围0225十进制表示;(1) 使用4个8位的二进制数据表示,每8位之间使用圆点隔开,每个8位整数可以转换成一个0255的十进制整数,因此我们一般看到的IP地址类似:192。168。1。1(这4段组成的个数有限度,大概是40多亿的样子,不够用,出现Ipv6); 【IPv6】128位,分8段,0000FFFF的十六进制数值,冒号分割。如:1080:0:0:0:8:800:200C:417A IP地址号段分类:A类留给政府机构,B类分配给中等规模的公司,C类分配给任意需要的人,D类用于组播,E类用于实验,给类可容纳的地址数目不同Java对基本网络的支持 (1)InetAddress类要来表示IP地址,有两个子类 Inet4Address(IPv4) Inet6Address(IPv6) (2)常用方法(主要了解获得IP地址对象的方法) staticInetAddressgetLocalHost():返回本地主机; staticInetAddressgetByName(Stringhost):通过主机名域名获取IP地址。查找存在的一个IP地址,如果主机名或域名写错抛出异常; staticInetAddressgetByAddress(byte〔〕addr):根据一个IP地址获得一个IP地址对象; 注意:参数是一个byte〔〕数组,如果大于127的需要进行强转成byte; booleanisReachable(inttimeout):测试是否可以连接到该地址(类似ping)publicvoidtestIp()throwsException{InetAddresslocalHostInetAddress。getLocalHost();System。out。println(localHost);InetAddress〔〕address1InetAddress。getAllByName(SKY20190405AAU);for(InetAddressaddress:address1){System。out。println(address);}System。out。println(InetAddress。getByAddress(newbyte〔〕{14,(byte)215,(byte)177,39}));System。out。println(InetAddress。getByName(www。baidu。com)。getHostAddress());180。97。33。107System。out。println(InetAddress。getByName(www。taobao。com)。getHostAddress());118。112。14。230System。out。println(InetAddress。getByName(www。jindong。com)。getHostAddress());61。92。24。81System。out。println(InetAddress。getByName(www。baidu。com)。isReachable(50));}Port端口 1。什么是端口 (1)如果把IP地址比作一间房子,端口就是出入这间房子的门。真正的房子只有几个门,但是一个IP地址的端口可以有65536(即:216)个之多!端口是通过端口号来标记的,端口号只有整数,范围是从0到65535(2161); (2)简单的说:一个电脑上的应用程序都绑定了一个对应的编号(端口),通过IP可以定位到指定的主机(电脑),再加上端口就可以定位到指定的程序了; 2。端口的分类 (1)公认端口:01023,他们紧密绑定一些服务 (2)注册端口:102449151,松散绑定一些服务 (3)动态端口:4915265535,动态使用的端口,程序一般不会使用这些端口 分类作用:现在对一些比较早的程序,它使用比较早,使用一些小的端口,被人熟知了,我们自己的开发的应用程序,尽量避免这些端口; 3。注意: (1)同一台机器上不能有两个程序使用同一个端口,会冲突; (2)我们开发过程中一般选用注册端口或动态端口范围内的; (3)以后开发中最好记住我们用到过的常用软件的端口,避免我们知己设定端口的时候和他们冲突; Tomcat:808080,Mysql:3306URL统一资源定位符 1。什么是URL (1)URL(UniformResourceLocator)统一资源定位符,可以直接使用此类找到互联网上的资源如一个简单的网页。 (2)URL一般由http协议,资源所在主机(域名或IP),端口,资源名称部分组成; 如:http:itsource。cn:80classinfojavajichu。html 2。URL类中的常用方法: (1)URL(Stringprotocol,Stringhost,intport,Stringfile):构建一个URL对象; (2)URL(Stringurl):构建一个URL对象; (3)InputStreamopenStream():返回一个用于从该连接读入的InputStream; (4)URItoURI():返回与此URL等效的URI; (5)更多方法请查看URL对应的API文档; 3。通过URL读取网络文件数据体验 (1)创建指定连接的URL对象 (2)从URL对象上得到输入流 循环,从输入流中获得数据并打印(或者保存到本地磁盘中:相当于一个资源下载)TCP传输控制协议 (1)概念:TransmissionControlProtocol传输控制协议,TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transportlayer)通信协议。当客户和服务器彼此交互数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据; (2)此协议中有两个类Socket和ServerSocket,其中有一些方法能够实现在两个不同的终端之间传输数据(客户端与服务端); UDP用户传输协议 (1)UDP是用户数据报协议,是一个简单的面向数据报的运输层协议,UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保证他们能到达目的。由于UDP在传输数据报前不用在客户和服务器之间建立一个连接,并且没有超时重发机制,故而传输速度很快; (2)TCP的所有操作必须建立可靠的连接,这样会浪费很大的性能,为此UDP这种不可靠的连接出现并成为聊天工具的宠儿; (3)UDP开发中使用DatagramPacket包装一条要发送的信息,之后使用DatagramSocket完成发送操作,也能够实现在两个终端之间传输数据;TCP和UDP区别 1。基于连接与无连接; 2。对系统资源的要求(TCP较多,UDP少); 3。UDP程序结构较简单; 4。流模式与数据报模式; 5。TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证;