黑马程序员 基础笔记 网络编程 概述
来源:互联网 发布:神女天下源码 编辑:程序博客网 时间:2024/05/01 20:37
------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
一、概述:
1、网络模型:OSI参考模型和TCP/IP参考模型
2、网络通信要素:IP地址,端口号、传输协议。
1)IP地址:
A、它是网络中的设备标识
B、不易记忆,可用主机名表示,两者存在映射关系
C、本机回环地址:127.0.0.1,主机名为:localhost
2)端口号:
A、用于标识进程的逻辑地址,不用进程的标识。
B、有效端口:0 ~ 65535,系统使用或保留的端口是:0 ~ 1024.
3)传输协议:
A、即通信规则,包含TCP和UDP协议
B、UDP是面向无连接,无论在不在网上,只管传输,不在就会丢失数据。只求速度,应用于网络视频会议和聊天等应用程序中
协议特点:
a、面向无连接,即将数据及源和目的封装成数据包中,不建立链接的发送
b、每个数据报的大小限制在64K之内
c、因无连接,是不可靠的协议
d、不建立连接,速度快。
C、TCP是面向连接的,必须连接成功才能传输数据,应用于下载等程序上
协议特点:
a、面向连接,在建立连接后,形成传输数据的通道
b、在连接中进行大数据量的传输
c、通过三次握手完成连接,是可靠的协议
d、必须建立连接,效率稍慢
三次握手:第一次本方发送请求,第二次对方确认连接,第三次本方再次确认连接成功。
3、通信的步骤:
1)找到IP地址
2)数据要发送到对象指定应用程序,为标识这些应用程序,所以给这些网络应用程序都用数字标识,为方便称呼这个数字,叫做端口,即逻辑端口。
3)定义通信规则,称之为协议。国际组织定义了通用协议,即TCP/IP。
注意:必须要有数字标识才能将数据发送到应用程序上。
示意图:
二、网络模型:
1、对于TCP/IP协议,开发处于传输层和网际层
应用层:FTP和HTTP协议等
传输层:UDP和TCP等
网际层:IP
三、网络通信要素:
一)IP地址:java中对应的是InetAddress类,存在于java.net包中。
InetAddress类:
1、无构造函数,可通过getLocalHost()方法获取InetAddress对象,此方法是静态的,返回此对象。
InetAddress i = InetAddress.getLocalHost();
2、方法:
1)static InetAddress getByName(String host):在给定主机名的情况下获取主机的IP地址
2)static InetAddress[] getAllByName(String host):在给定主机名的情况下,根据系统上配置的名称服务返回IP地址所组成的数组。返回对象不唯一时,用此方法。
3)String getHostAddress():返回IP地址字符串文本形式,以这个为主,即以IP地址为主。
4)String getHostName():返回IP地址主机名。
3、如何获取任意一台主机的IP地址对象:
1)功能:返回InetAddress对象
2)对于任意主机,需要指定传入主机名的参数
注意:如果IP地址和主机名无映射关系,或者没有在网络上,就不会解析成功
事例如下
- /*
- 获取IP地址和IP地址主机名
- */
- import java.net.*;
- class InetDemo
- {
- public static void main(String[] args) throws Exception
- {
- //获取本机IP地址
- InetAddress ia = InetAddress.getLocalHost();
- System.out.println(ia.toString());
- //通过百度主机名获取其IP地址
- InetAddress i = InetAddress.getByName("www.baidu.com");
- System.out.println("name:" + i.getHostName());
- System.out.println("address:" + i.getHostAddress());
- }
- }
- 黑马程序员 基础笔记 网络编程 概述
- 黑马程序员-基础-网络编程
- 黑马程序员基础-----网络编程
- 黑马程序员-基础-网络编程
- 黑马程序员-网络编程基础
- 黑马程序员_Java网络编程概述
- 黑马程序员——网络编程概述
- 黑马程序员_网络编程概述
- 黑马程序员—网络编程概述
- 黑马程序员_java网络编程概述
- 黑马程序员_网络编程概述
- 黑马程序员_学习笔记_Java基础_网络编程
- 黑马程序员 Java基础学习笔记 网络编程
- 黑马程序员 JAVA基础之网络编程笔记
- 黑马程序员-笔记--网络编程
- 黑马程序员_毕向东JAVA基础_网络编程(概述&UDP&TCP)
- 黑马程序员-网络编程概述-网络模型-UDP-TCP
- 黑马程序员之网络编程基础
- display:block/inline/inline-block/inline-table/list-item区别
- 一直在得到,现在回报
- velocity中directive的使用
- Android中的Selector的用法
- JAVA IO完全总结
- 黑马程序员 基础笔记 网络编程 概述
- IOS超强表格控件GMGridView
- poj 1062 spfa+枚举
- Android提示版本更新的实现
- poi-3.8修改源码、编译、打包过程
- 一段程序看懂比特币原理
- SOAP的消息结构与数据的组织方法
- Hadoop2.2.0动态添加,删除datanode,tasktracker
- C++类的静态成员,友元和常成员常对象