当前位置: 首页 > news >正文

写一张营销型网站页面多长时间中国建设银行网站首页旧版

写一张营销型网站页面多长时间,中国建设银行网站首页旧版,搭建网页平台,钙尔奇营销策划方案使用java进行网络程序的开发#xff0c;可以说是一件令人愉悦的事情#xff0c;对于用惯了C网络接口编程的人来说#xff0c;当他们首次使用Java开发网络应用程序#xff0c;会发现java开发网络应用是如此的简单#xff0c;甚至仅用几分钟时间#xff0c;您就可以学会这种…使用java进行网络程序的开发可以说是一件令人愉悦的事情对于用惯了C网络接口编程的人来说当他们首次使用Java开发网络应用程序会发现java开发网络应用是如此的简单甚至仅用几分钟时间您就可以学会这种网络编程技术。本章主要对java网络编程相关的知识进行探讨首先探讨java对于网卡信息获取方式之后介绍如何使用java编写基于网络的客户端和服务端程序。最后探讨一些java网络相关的高级主题。3.1 java获取网络通信信息java为了方便网络编程提供了表示IP地址的类、表示网络接口(这个接口是指网卡)的类表示网络连接接口的类。下面主要探讨这些基本的类以及如何使用这些类来获取网络信息。Graphic3-1给出了与网络通信信息相关的类之间的关系。Graphic3-1 网络通信信息相关的类3.1.1 InetAddress类InetAddress用来表示一个IP地址。可以通过主机名来配置InetAddress此时InetAddress将会通过主机配置的DNS服务器解析出对应域名的IP地址。对于任何的主机名InetAddress也可以解析出其对应的IP地址。InetAddress拥有两个子类分别是Inet4Address和Inet6Address在大多说情况下都无需直接处理这些子类因为InetAddress抽象类已经覆盖了大多数必需的功能。Graphic3-2给出了InetAddress的公有操作。从Graphic3-2从可以看出InetAddress类没有公有的构造方法要想获取InetAddress的实例必需使用InetAddress内部的一些静态方法(这是设计模式中的简单工厂方法)。Demo3-1给出了使用InetAddress的基本用法。示例中先使用InetAddress的getLocalHost方法获取了本机的IP地址然后输出使用getByName方法获得了google服务器的一个IP地址由于google服务器有很多服务主机当前获取的是哪一个服务的主机的IP地址并不确定实际应用中这是一个随机的值这与DNS服务器有直接关系。使用了getByAllName方法可以获取google的所有服务主机名。最后使用了isReachable方法来判断一台主机的可达性。需要说明的是使用getLocalHost方法未必真的能够获取您想要的本机的IP地址(有人说在windows上getLocalHost可以正确执行获取到本机的IPV4地址而在Linux上调用getLocalHost返回的是一个127.0.0.1的ip地址)。现在假想有一台主机有多张网卡而且有多个IP地址甚至这台主机即配置了IPV4又配置了IPV6调用getLocalHost将会返回哪一个IP地址很明显getLocalHost只能返回一个IP地址因此就限定了getLocalHost方法并不是获取本机IP地址的最好方式。Demo3-2给出了一台Linux系统一张网卡上配置IPV4和IPV6后调用getLocalHost后的执行结果。从Configuration3-2中可以看出在这台linux上配置了IPV4和IPV6调用getLocalHost后获取的是一个回环测试地址。此外使用InetAddress的isReachable时需要特别小心因为默认情况下isReachable使用ICMP报文来探测远程主机可达性(不一定使用ICMP这与具体的实现有关)有很多服务器或者网络管理员禁用ping功能(ICMP)所以使用isReachable不可达并不证明远程主机不存在。Graphic3-2InetAddress拥有的公有操作。Demo 3-1 InetAddress示例代码package com.upc.upcgrid.guan.network.chapter03;import java.io.IOException;import java.net.InetAddress;public class InetAddressTest {public static void main(String[] args) throws IOException {InetAddress addr InetAddress.getLocalHost();//获取本机ipSystem.out.println(local host : addr);//获取指定服务的一个主机IPaddr InetAddress.getByName(google.com);System.out.println(google : addr);//获取指定服务的所有主机IPInetAddress[] addrs InetAddress.getAllByName(google.com);for(int i 0 ;i addrs.length ;i)System.out.println(google : addrs[i] number : i);//获取远程主机可达性System.out.println(InetAddress.getByName(localhost).isReachable(1000));}}Demo3-1执行结果local host : PC2011022509cjh/202.194.158.128google : google.com/74.125.71.99google : google.com/74.125.71.99number : 0google : google.com/74.125.71.103number : 1google : google.com/74.125.71.104number : 2google : google.com/74.125.71.105number : 3google : google.com/74.125.71.106number : 4google : google.com/74.125.71.147number : 5truedemo3-1的配置configuration 3-1windows主机的配置C:\Documents and Settings\AdministratoripconfigWindows IP ConfigurationEthernet adapter 本地连接:Connection-specific DNS Suffix. :IP Address. . . . . . . . . . . . : 202.194.158.128Subnet Mask . . . . . . . . . . . : 255.255.255.0Default Gateway . . . . . . . . . : 202.194.158.253Demo3-2 linux 执行的代码System.out.println(InetAddress.getLocalHost());Demo3-2 的输出结果Localhost.localdomain/127.0.0.1Demo3-2 的配置环境Configuration 3-2 linux主机的配置[rootlocalhost ~]# ifconfigeth0Link encap:EthernetHWaddr 00:E0:4C:3D:C2:73inet addr:202.194.158.184Bcast:202.194.158.255Mask:255.255.255.0inet6 addr: 2001:da8:7006:8003:2e0:4cff:fe3d:c273/64 Scope:Globalinet6 addr: fe80::2e0:4cff:fe3d:c273/64 Scope:LinkUP BROADCAST RUNNING MULTICASTMTU:1500Metric:1RX packets:251210956 errors:1 dropped:28 overruns:1 frame:0TX packets:116140638 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:16023749113 (14.9 GiB)TX bytes:34386034544 (32.0 GiB)Interrupt:217 Base address:0x2000loLink encap:Local Loopbackinet addr:127.0.0.1Mask:255.0.0.0inet6 addr: ::1/128 Scope:HostUP LOOPBACK RUNNINGMTU:16436Metric:1RX packets:8274 errors:0 dropped:0 overruns:0 frame:0TX packets:8274 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:8395613 (8.0 MiB)TX bytes:8395613 (8.0 MiB)3.1.2 NetworkInterface类可以使用NetworkInterface类提供的方法获取本地计算机网络接口相关的信息。尽管InetAddress类提获取IP地址的方法但是要想获取本机的网络接口的详细信息还需要依赖NetworkInterface接口中的方法。通过NetworkInterface接口可以获取本机配置的网络接口的名字IP列表(包括IPV4和IPV6)网卡地址最大传输单元(MTU)接口状态(开启/关闭)、接口网络类型(点对点网络、回环网络)等信息。Graphic3-3列出来NetworkInterface中可用的公有方法。从Graphic3-3可以看出NetworkInterface没有可见的构造方法NetworkInterface内部也是使用静态方法来构造NetworkInterface实例的(简单工厂方法)。此外每个NetworkInterface内部可以包含多个NetworkInterface对象这就构成了一种树结构(合成模式)而且每个NetworkInterface内部保持一个指向父NetworkInterface的引用。Demo3-3中给出了一个使用NetworkInterface获取本机eth0网络接口IPV4地址的一个示例程序首先通过NetworkInterface的getByName静态方法获取一个关于eth0的NetworkInterface实例之后调用NetworkInterface的getInetAddresses获取配置在eth0上的所有IP地址(这时有可能获取到多个IP因为一个网络接口可以配置多个IP)通过遍历获取的InetAddress判断如果是IPV4则将这个IP地址输出出来。需要提示的是一般每台计算机都会在别名为eth0的网络接口上配置公网的IPV4或IPV6的地址因此直接使用eth0即可获取配置的IP地址信息此外还有一个别名为lo的网络接口用来进行回环测试其配置的IPV4一般为127.0.0.1。Demo3-3中给出的例子解决了InetAddress调用getLocalHost方法无法正确获取本机IP地址的问题。为了保守起见(防止有的计算机没有为网络端口起名为eth0)demo3-4给出了一个更一般的方法。在Demo3-4中先通过NetworkInterface的静态方法getNetworkInterfaces获取本机的所有网络接口的父接口之后遍历这个父接口获取下面的子接口(在Configuration1和Configuration2中都配置了两个子接口一个名字为eth0一个名字为lo)之后遍历子接口的IP地址输出结果。并且在输出中分辨出是IPV4的地址还是IPV6的地址。Graphic3-3 NetworkInterface类Demo3-3 获取本机IPV4的地址package com.upc.upcgrid.guan.network.chapter03;import java.net.InetAddress;import java.net.NetworkInterface;import java.net.SocketException;import java.util.Enumeration;public class NetworkInterfaceTest {public static void main(String[] args) throws SocketException {NetworkInterface ni NetworkInterface.getByName(eth0);Enumeration ias ni.getInetAddresses();for(;ias.hasMoreElements();){InetAddress ia ias.nextElement();if(ia instanceof InetAddress)System.out.println(ia);}}}Demo3-3的执行结构在Configuration3-1下/202.194.158.128在Configuration3-2下/202.194.158.184Demo3-4 测试本机的IP地址package com.upc.upcgrid.guan.network.chapter03;import java.net.Inet4Address;import java.net.Inet6Address;import java.net.InetAddress;import java.net.NetworkInterface;import java.net.SocketException;import java.util.Enumeration;public class NetworkInterfaceTest2 {public static void main(String[] args) throws SocketException {Enumeration nis NetworkInterface.getNetworkInterfaces();for(;nis.hasMoreElements();){NetworkInterface ni nis.nextElement();Enumeration ias ni.getInetAddresses();for(;ias.hasMoreElements();){InetAddress ia ias.nextElement();if(ia instanceof Inet4Address !ia.getHostAddress().equals(127.0.0.1)){System.out.println(ip v4 : ia);}else if(ia instanceof Inet6Address !ia.equals()){System.out.println(ip v6 : ia);}}}}}Demo3-4的执行结果Configuration3-1 下的执行结果ip v4 : /202.194.158.128Configuration3-2下的执行结果ip v6 : /fe80:0:0:0:2e0:4cff:fe3d:c273%2ip v6 : /2001:da8:7006:8003:2e0:4cff:fe3d:c273%2ip v4 : /202.194.158.184ip v6 : /0:0:0:0:0:0:0:1%13.1.3 简单总结InetAddress用于表示一个IP地址其两个子类Inet4Address和Inet6Address分别表示IPV4和IPV6两种类型的地址。使用InetAddress的getByName方法可以获取远程服务的IP地址(通过DNS服务获取的)使用getAllByName方法可以获取远程指定服务的所有服务主机的IP地址。使用getLocalHost方法可以获取本地IP地址但是这种方式并不可靠当出现多张网卡或一个网络接口配置了多个IP或者不同的操作系统类型都不能保证能够获得想要的IP。NetworkInterface可以获取本机网络接口的相关信息包括硬件地址MTU所有的IP地址等信息需要获取本机IP时最好使用NetworkInterface对配置的IP地址进行筛选。
http://www.zqtcl.cn/news/424031/

相关文章:

  • 做交通事故的网站北京物联网app开发公司
  • 网站建设中 页面网络培训注册会计师
  • app网站如何做推广安装wordpress错误
  • 八零婚纱摄影工作室网站南昌微信营销公司
  • 海南网站开发公司百度网站建设费用怎么做账
  • 做网站的研究生专业微信公众号推广的方法
  • sql网站开发数据库连接失败wordpress改全屏
  • 做外贸怎么上国外网站网上注册公司流程图文
  • 网站开发 慕课厦门建设局网站技司学校
  • 中山自助建站系统多个网站能否统一做等保
  • 做网站怎么别人搜不出来电商购物网站开发需求分析
  • 教育网站设计用模板做的网站不好优化
  • php网站api接口写法中国做铁塔的公司网站
  • 做博客网站如何盈利wordpress百家号
  • 读经典做临床报名网站cnzz 网站跳出率查询
  • 青岛网站建设网站广东手机网站制作公司
  • 个人免费建站软件影视传媒网站源码
  • 网站软件下载app如何做国外网站
  • 网站建设小细节图片北京装修公司报价
  • 辽宁省住房和城乡建设厅网站换了淮安做网站公司
  • 天津商业网站建设搜狗排名优化工具
  • 阿里服务器可以做多少个网站在家怎么利用电脑赚钱
  • 免费建设一个网站google官方版下载
  • 心馨人生珠海网站建设外贸型企业网站建设
  • 好网站建设公司昆明乐清网站优化推广
  • 哪些网站用天平做logo站长工具app官方下载
  • 做餐厅logo用什么软件网站手机自适应网站源码
  • 股票网站模板辽宁工程建设信息网站
  • 毕业设计某网站开发的开题报告范文广西建设教育网站
  • 浏览小城镇建设的网站商丘网站公司