Java网络编程
作者:互联网
网络编程
-
Java的网络通信非常简单,服务器端通过ServerSocket建立监听,客户端通过Socket连接到指定服务器后,通信双方就可以通过IO流进行通信。
-
OSI模型:开放系统互连参考模型(Open System InterConnection),力求将网络简化,并以模块化的方式来设计网络。OSI模型把计算机网络分成物理层、数据链路层、网络层、传输层、会话层、表示层、应用层7层。
-
通信协议:计算机网络中实现通信必须有一些约定,这些约定被称为通信协议。通信协议通常由三部分组成:一是语义部分,用于决定双方对话的类型;二是语法部分,用于决定双方对话的格式;三是变换规则,用于决定通信双方的应答关系。通信协议是网络通信的基础。IP协议则是一种非常重要的通信协议。
-
IP协议:又称互联网协议(Internet Protocol),是支持网间互联的数据报协议。它提供网间连接的完善功能,包括IP数据报规定互联网络范围内的地址格式。经常与IP协议放在一起的还有TCP协议,即传输控制协议(Transmission Control Protocol),它规定一种可靠的数据信息传递服务。实际使用中常常把这两个协议统称为TCP/IP协议,TCP/IP协议最早出现在UNIX操作系统中,现在几乎所有的操作系统都支持TCP/IP协议。因此TCP/IP协议是Internet中最常用的基础协议。
-
按TCP/IP协议模型,网络通常被分为一个四层模型,对应关系如图。
-
IP地址:用于唯一地标识网络中的一个通信实体,这个通信实体既可以是一台主机,也可以是一台打印机,或者是路由器的某一个端口。而在基于IP协议网络中传输的数据包,都必须使用IP地址来进行标识。IP地址是数字型的,IP地址是一个32位(32bit)整数,但通常为了便于记忆,通常把它分成4个8位的二进制数,每8位之间用圆点隔开,每个8位整数可以转换成一个0~255的十进制整数,因此我们看到的IP地址常常是这种形式:202.9.128.88。IP地址用于唯一地标识网络上的一个通信实体,但一个通信实体可以有多个通信程序同时提供网络服务,此时还需要使用端口。
-
端口:端口是一个16位的整数,用于表示数据交给哪个通信程序处理。因此,端口就是应用程序与外界交流的出入口,它是一种抽象的软件结构,包括一些数据结构和I/O(基本输入/输出)缓冲区。不同的应用程序处理不同端口上的数据,同一台机器上不能有两个程序使用同一个端口,端口号可以从0到65535,通常将它分为如下三类。
- 公认端口(Well Known Ports):从0到1023,它们紧密绑定(Binding)一些特定的服务。
- 注册端口(Registered Ports):从1024到49151,它们松散地绑定一些服务。应用程序通常应该使用这个范围内的端口。
- 动态和/或私有端口(Dynamic and/or PrivatePorts):从49152到65535,这些端口是应用程序使用的动态端口,应用程序一般不会主动使用这些端口。
-
Java为网络支持提供了java.net包,该包下的URL和URLConnection等类提供了以编程方式访问Web服务的功能,而URLDecoder和URLEncoder则提供了普通字符串和application/x-www-form-urlencoded MIME字符串相互转换的静态方法。
标签:协议,Java,IP,编程,端口,网络,TCP,通信协议,IP地址 来源: https://www.cnblogs.com/yu-zexin/p/16343422.html