Socket又称“套接字”,应用程序通常通过“套接字”向网络中发出请求或者应答网络请求。

在Java中,Socket和ServeSocket类库位于Java.net包中。SeverSocket用于服务器端,Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同的级别。不管是Socket还是ServerSocket它们的工作都是通过Socket类及其子类完成的。


Socket链接的建立过程:

  建立Socket链接可以分为三个步骤:

    1.服务器监听

    2.客户端发出请求

    3.创建和确认链接

    一旦客户端和服务器端确认了链接,那么Socket就会继续处于监听状态,并且相互接收和传递信息。

Socket有如下几个特点:

  1.Socket基于TCP链接,数据传输有保障

  2.Socket适用于建立长时间的链接,它不会像HTTP请求那样,执行完之后就随机关闭

  3.Socket编程通常应用于即时通讯,这个应用与它的前两点特性是密不可分的。