网络编程

来源:互联网 发布:直线制职能制矩阵制 编辑:程序博客网 时间:2024/05/01 01:36

网络通信协议:在计算机网络中,这些连接和通讯的规则被称为网络通信协议,它对数据的传输格式、传输速率、传输速率等做了统一规定,通讯双方必须同时遵守才能完成数据交换。目前使用比较广泛的为TCP/IP、UDP协议、ICMP协议。

TCP/IP协议中的四层:应用层、传输层、网络层、链路层

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

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

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

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

IP地址:它可以唯一标识一台计算机,目前使用IPv4,由4个字节大小的二进制来标识,因这样不便于记忆和处理,采用十进制,(0-255),数字之间用.分开,如10.1.1.1.

IPv6采用16个字节标识IP地址。

端口:通过IP地址连接到计算机,想访问计算机中的某个应用程序,需要指定端口号。

端口号两个字节(16位的二进制标识),它的取值范围为0-65535,其中0-1023之前,用于一些知名的网络服务或应用,用于的普通应用程序需要使用1024以上的端口号。

UDP协议(User Datagram Protocol)用户数据报协议:UDP是无连接通信协议,即在数据传输时,当一台计算机向另外一台计算机发送数据时,发送端不会确认接收端是否存在,就会发出数据,同样接收端在接收数据时,也不会向发送端反馈是否收到数据。由于使用UDP协议消耗的资源小,通信效率高,所以通常都会用于音频、视频和普通数据的传输。

TCP协议(Transmission Control Protocal)传输控制协议:TCP是面向连接的通信协议,即在传输数据前先在发送端和接收端建立逻辑连接,然后再传输数据,它提供了两台计算机间可靠无差错的数据传输。

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

JDK中提供了一个InetAddress类,用于封装一个IP地址。

UDP通信的过程就像货运公司在两个码头之间发送货物一样。在码头发送和接收货物时都需要使用集装箱来装载货物。

UDPDatagramPacket类,该类的实例相当于"集装箱",用于封装UDP通信中发送或接收的数据。

DatagramSocket的作用如同"码头",使用这个类的实例对象就可以发送和接收DatagramPacket数据包。

TCP通信同UDP通信一样,都能实现两台计算机之间的通信,通信的两端都需要创建Socket对象。

JDK中提供了两个类用于实现TCP程序,一个ServletSocket类,用于服务端,一个Socket类用于客户端。






0 0
原创粉丝点击