网络编程 1

网络通信协议

目前应用最广泛的是TCP/IP协议(Transmission Control Protocal/Internet Protoal传输控制协议/英特网互联协议)。

TCP/IP协议的层次结构比较简单,共分为四层。

链路层:链路层是用于定义物理传输通道,通常是对某些网络连接设备的驱动协议,例如针对光纤、网线提供的驱动。

网络层:网络层是整个TCP/IP协议的核心,它主要用于将传输的数据进行分组,将分组数据发送到目标计算机或者网络。

传输层:主要使网络程序进行通信,在进行网络通信时,可以采用TCP协议,也可以采用UDP协议。

应用层:主要负责应用程序的协议,例如HTTP协议、FTP协议等。

IP地址和端口号

要想使网络中的计算机能够进行通信,必须为每台计算机指定一个标识号,通过这个标识号来指定接受数据的计算机或者发送数据的计算机

在TCP/IP协议中,这个标识号就是IP地址,它可以唯一标识一台计算机。

端口号:逻辑端口,由操作系统负责,对每个程序进行分配。如微信的端口与QQ的端口是不同的。但是要注意的是,0-1023的端口已经被一些知名的网络服务和应用占用了。

网络中一台计算机可以通过IP地址去访问另一台计算机,并通过端口号访问目标计算机中的某个应用程序

InetAdderss类

该类用于封装一个IP地址,并提供了一系列与IP地址相关的方法。

网络编程 1

UDP协议

UDP是无连接通信协议,即在数据传输时,数据的发送端和接收端不建立逻辑连接。

由于使用UDP协议消耗资源小,通信效率高,所以通常都会用于音频、视频和普通数据的传输

TCP协议

TCP协议是面向连接的通信协议,即在传输数据前先在发送端和接收端建立逻辑连接,然后再传输数据。

每次连接的创建都需要经过“三次握手”。第一次握手,客户端向服务器端发出连接请求,等待服务器确认,第二次握手,服务器端向客户端回送一个响应,通知客户端收到了连接请求,第三次握手,客户端再次向服务器端发送确认信息,确认连接。

由于TCP协议的面向连接特性,它可以保证传输数据的安全性。

网络编程 1

网络编程 1

网络编程 1