java TCP/IP Socket编程-----简介-----笔记2

来源:互联网 发布:win7软件图标模糊 编辑:程序博客网 时间:2024/06/06 03:50

概述:

大家都可以通过网络进行通讯,那么这些通讯是如何实现?主要用java语言的编写程序,这就是本章的目的

1.1计算机网络,分组报文和协议

这个通讯过程就像以前的打电话的情形,而路由器就是相等于接线员,主机1打过来说我要连接主机2,这时候路由器切换通信信道转到,

更恰当比喻就是你应该问过路,路人就是像路由器,因为他知道你要去的地方怎么走。

现在有个问题,我开始问路了,可说的是我们那里方言,他听不懂,这下尴尬了,所以国家推行普通话,而在网路通信就是协议,咱们制定规则然后都遵守这个规则,就像汉字,我们都知道这个字意思和读音,因为新华字典就是样子的。

网络主要常用的协议就是TCP协议和UDP协议


TCP需要握手连接,安全,传输效率稍低

UDP不需要连接,不安全,容易丢包,顺序混乱

1.2关于地址:

类似邮寄东西的地址,网络主要是互联网地址+端口号

主要分为IPv4和IPv6, iPv4是32能区分40亿独立地址, IPv6 地址长度为186位长。

IPv6 16字节

2000:fdb8:0000:0000:0001:00ab:853c:39a1    简写 :2000:fdb8::1:00ab:853c:39a1

端口号的范围是1到65535

回环接口:就是从哪里来回到那里去(原路返回)

IPv4的回环地址是127.0.0.1[ ],IPv6的回环地址是0:0:0:0:0:0:0:1。

IPv4地址:所有以10或192.168开头的地址,以及第一个数是172,第二个数在16到31的地址。(在IPv6中没有相应的这类地址)这类地址最初是为了在私有网络中使用而设计的

多播地址:IPv4 第一个数字224-239 IPv6 FF开头

1.3.关于名字

一个名字对应IP,这个对应关系通过DNS进行解析(Domain Name System) DNS是分布数据库系统

1.4客户端和服务端

客户端就是请求者,而服务端是响应者

客户端怎么找服务端,URL(Universal Resource Locator 统一资源定位符)

1.5 什么是套接字

Socket(套接字)是一种抽象层,就是应用的程序的通过他来发送和接受的数据。


TCP/IP协议中主要是socket为流套接字 和数据报套接字