国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > 互联网 > JAVA学习第五十九课 ― 网络编程概述

JAVA学习第五十九课 ― 网络编程概述

来源:程序员人生   发布时间:2014-11-09 09:17:15 阅读次数:2813次

网络模型

OSI(Open System Interconnection)开放系统互连:参考模型

TCP/IP

网络通讯要素

IP地址

端口号

传输协议

网络参考模型




7层OSI模型的基本概念要了解


网际层协议:包括:IP协议、ICMP协议、ARP协议、RARP协议。 传输层协议:TCP协议、UDP协议。 利用层协议:FTP、Telnet、SMTP、HTTP、RIP、NFS、DNS。


要真正实现网络通讯,首先要找到IP地址,IP地址是网络通讯的1大要素

IP地址:InetAddress

网络中装备标识

不容易记忆,可用本机名

本地回环地址:127.0.0.1,这个地址,只为访问本机 

IP地址是对外暴露的标识,可以通过获得IP地址,访问


为了进行利用程序的标识辨别,就提供了1些数字来标识利用程序,比如QQ 用4000来标识,我的电脑QQ发消息,发送到IP 地址是: 192.168.0.1 的编号为4000的利用程序上。而这些数字就是(逻辑)端口。

机箱上的端口:是物理端口

端口号

用于标识进程的逻辑地址,不同进程的标识

有效端口,0~65535,其中0~1024系统使用或保存端口。

也就是说尽可能保证( 1024 < 端口编号 <= 65535

而防火墙,就是利用端口实现的,比如QQ的端口号是4000,防火墙设置,端口4000的数据,制止发送,就使得QQ没法连接到网络


IP对象

IP地址比较复杂,在Java中也就被封装成了对象,java.net包中提供了网络传输触及的对象

类 InetAddress:此类表示http://www.wfuyu.com/Internet/协议 (IP) 地址。

InetAdress类下有Inet4Address,Inet6Address两大类,使IP地址,不容易冲突

存在于网际层,该层能辨认IP地址,能封装IP地址

InetAdress对象,无构造函数,说明肯定有方法返回对象,而且是静态方法

简单演示

public static void Demo()throws UnknownHostException { //获得本地主机IP地址对象,要抛出未知主机异常 InetAddress ip = InetAddress.getLocalHost(); //获得其他主机ip地址对象 //ip = InetAddress.getByName("kevy-PC");//也能够写IP地址 ip = InetAddress.getByName("www.baidu.com");//获得百度的IP地址 System.out.println(ip.getHostAddress());//获得主机IP地址 System.out.println(ip.getHostName());//获得主机名,如果没有获得到,说明解析时,局域网找不到 //还可能存在IP地址不唯1的可能,比如新浪、网易,http://www.wfuyu.com/server/集群的情况 //得到的IP对象是数组 //InetAddress[] ipp = InetAddress.getAllByName(""); }

域名解析


正常在访问主机时,比如访问网易的主机,网易的主机,不过就是1台计算机存储1些数据,主机有1个IP地址,

假定127.0.0.1,存储着网易的网络资源

虽然在访问网站的时候,是域名,但实际上是IP地址,http://127.0.0.1,初期就是IP地址,但是IP地址有可能对应对应多个主机

所以就有了www(万维网).域名.com(属于商业化组织).cn(所属国家种别)

IP地址和域名有着对应关系,在http://www.wfuyu.com/Internet/有1些主机,存储的就是这些对应关系,这就是域名解析,而这些主机就是DNS(域名解析http://www.wfuyu.com/server/),只有DNS才记录网易的IP地址,DNS把IP地址返回你的计算机,再走网易


想提高解析速度,就能够实现本地解析,在本地创建1张域名解析列表,主机本身就自带了,只需我们去配置便可,

C:WindowsSystem32driversetc

域名解析时,先走的不是http://www.wfuyu.com/Internet/,而是本机,本机失败再到http://www.wfuyu.com/Internet/,解析

所以,由此,就能够在阅读1些网站时,可以屏蔽1些网站的垃圾广告,将广告网站的域名记录,配置在本地

127.0.0.1 XXXXX,这样就会先在本地用自己的IP解析,网站也就打不开,不走http://www.wfuyu.com/Internet/。

360屏蔽网址也是这个原理


Socket(插座)

学习传输协议,就要先了解Socket

要进行网络传输就必须有两个端点,这两个端点想要通讯,就必须连接,端点就能够理解为Socket

Socket是为网络服务提供的1种机制

通讯的两端想要通讯必须有Socket

网络通讯其实就是Socket间的通讯

数据在两个Socket间通过IO传输


所以网络编程也能够叫Socket编程




生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生