黑马程序员——网络概念及Socket编程示例
来源:互联网 发布:win10网络授权 编辑:程序博客网 时间:2024/06/05 00:51
------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------
一. TCP/IP 参考模型
二 . 七层详解:
1. 物理层:主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后再转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。
2. 数据链路层:主要将从物理层接收的数据进行MAC地址(网卡的地址)的封装与解封装。常把这一层的数据叫做帧。在这一层工作的设备是交换机,数据通过交换机来传输。
3. 网络层:主要将下层接收到的数据进行IP地址(例,192.168.0.1)的封装与解封装。在这一层工作的设备是路由器,常把这一层的数据叫做数据包。
4. 传输层:定义了一些传输数据的协议和端口号(WWW端口号80等),如:TCP(传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据),UDP(用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的)。主要是将从下层接收的数据进行分段和传输,到达目的地址后再进行重组。常常把这一层叫做段。
5. 会话层:通过传输层(端口号:传输端口与接收端口)建立数据传输的通路。主要在你的系统之间发起会话或者接收会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是主机名)。
6. 表示层:主要是进行对接收的数据进行解释,加密与解密、压缩与解压缩等(也就是把计算机能够识别的东西转换成人能够识别的东西(如图片、声音等)。
7. 应用层:主要是一些终端的应用,比如说FTP(各种文件下载)、WEB(IE浏览)、QQ之类的(可以把它理解成我们在电脑屏幕上可以看到的东西,就是终端应用)。
三. 网络基础
1. IP地址:InetAddress
3、在没有连接互联网的情况,为了让访问本机方便,所以分配了一个默认的IP地址,也就是本地回环地址。
四. Socket
1. Socket就是为网络服务提供的一种机制。通信的两端都有Socket。网络通信其实就是Socket间的通信。数据在两个Socket间通过IO传输。
2. 启动发送端、接收端线程程序:
import java.io.IOException;
import java.net.DatagramSocket;
public class ChatDemo
{
public static void main(String[] args) throws IOException {
DatagramSocket send = new DatagramSocket();
DatagramSocket rece = new DatagramSocket(10001);
Send s = new Send(send);
Rece r = new Rece(rece);
new Thread(s).start();
new Thread(r).start();
}
}
3. 网络层:主要将下层接收到的数据进行IP地址(例,192.168.0.1)的封装与解封装。在这一层工作的设备是路由器,常把这一层的数据叫做数据包。
4. 传输层:定义了一些传输数据的协议和端口号(WWW端口号80等),如:TCP(传输控制协议,传输效率低,可靠性强,用于传输可靠性要求高,数据量大的数据),UDP(用户数据报协议,与TCP特性恰恰相反,用于传输可靠性要求不高,数据量小的数据,如QQ聊天数据就是通过这种方式传输的)。主要是将从下层接收的数据进行分段和传输,到达目的地址后再进行重组。常常把这一层叫做段。
5. 会话层:通过传输层(端口号:传输端口与接收端口)建立数据传输的通路。主要在你的系统之间发起会话或者接收会话请求(设备之间需要互相认识可以是IP也可以是MAC或者是主机名)。
6. 表示层:主要是进行对接收的数据进行解释,加密与解密、压缩与解压缩等(也就是把计算机能够识别的东西转换成人能够识别的东西(如图片、声音等)。
7. 应用层:主要是一些终端的应用,比如说FTP(各种文件下载)、WEB(IE浏览)、QQ之类的(可以把它理解成我们在电脑屏幕上可以看到的东西,就是终端应用)。
三. 网络基础
1. IP地址:InetAddress
网络中设备的标识。
不易记忆,可用主机名。
本地回环地址:127.0.0.1 主机名:localhost。
2、IPV4数量已经不够分配,所以产生了IPV6。3、在没有连接互联网的情况,为了让访问本机方便,所以分配了一个默认的IP地址,也就是本地回环地址。
4、端口号:用于标识进程(应用程序)的逻辑地址,不同进程的标识。有效端口:0~65535,其中0~1024系统使用或保留端口。
5、常见协议:UDP、TCP。四. Socket
1. Socket就是为网络服务提供的一种机制。通信的两端都有Socket。网络通信其实就是Socket间的通信。数据在两个Socket间通过IO传输。
2. 启动发送端、接收端线程程序:
import java.io.IOException;
import java.net.DatagramSocket;
public class ChatDemo
{
public static void main(String[] args) throws IOException {
DatagramSocket send = new DatagramSocket();
DatagramSocket rece = new DatagramSocket(10001);
Send s = new Send(send);
Rece r = new Rece(rece);
new Thread(s).start();
new Thread(r).start();
}
}
0 0
- 黑马程序员——网络概念及Socket编程示例
- 黑马程序员——网络编程(Socket)
- 黑马程序员——网络编程(Socket编程)
- 黑马程序员——网络编程(Socket编程)下
- 黑马程序员————网络Socket编程
- 黑马程序员——Socket网络编程聊天室
- 黑马程序员——Java---Socket网络编程原理
- 黑马程序员第六季——网络(Socket编程)
- 【黑马程序员】Socket 网络编程
- 黑马程序员--网络编程Socket
- 黑马程序员--网络编程Socket
- 黑马程序员-Socket网络编程
- 黑马程序员---网络编程(socket编程)
- 黑马程序员— 网络编程
- 黑马程序员—网络编程
- 黑马程序员—网络编程
- 黑马程序员—网络编程
- 黑马程序员—网络编程
- 编写字符驱动程序 - 读取cmos中的时间
- WordPress 函数:add_action()(添加动作)
- CDOJ 1222--Sudoku【DFS && 数独】
- 自定义BadgeButton提醒数字
- 关于去掉Li标签前面的小圆点和距离/显示下划线
- 黑马程序员——网络概念及Socket编程示例
- 安卓 线程 和 线程池
- LeetCode -- Length of last word
- Linux-grep学习笔记
- LeetCode -- Majority Element II
- uva 1599
- poj 2533 Longest Ordered Subsequence (最长上升子序列)
- LeetCode -- Nim Game
- Show Line Numbers显示行号问题