J2SE 网络通信(二)-Socket编程

用套接字Socket来实现不同虚拟机或不同计算机间的通信,本文将通过编写客户端和服务器端来创建套接字通信。

Socket 概念

在C/S结构的软件体系中,需要一个服务端的程序,它能够与众多客户端相连接,从而互相之间传递一些数据。在计算机系统中,两个进程之间如果要进行通信,基本条件便是在系统中可以标示唯一的一个进程。所以人们发明了进程标示符PID来标示在本地的唯一进程。

1
PID(Process Identification)是指操作系统里的进程识别号,也就是进程标识符。

PID只是在本地系统(单机)中是唯一的。在网络中,任意两个进程的PID存在重复的可能性很大,这将引发冲突。网络层的IP地址可以标示网络中的一台主机,而应用层的一些协议和端口号可以标示这个主机中的进程。因此,我们就能够结合IP地址、相应的协议及其端口号来标示网络中的某个进程。

有了这个理论基础,进程之间就能够通过套接字socket来进行通信。那么,什么是socket?

网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。

如果觉得对您有帮助,就扫我交个朋友吧!