首页 > 代码库 > Java I/O的工作机制2

Java I/O的工作机制2

Java Socket的工作机制

      Socket是描述计算机之间完成相互通信的一种抽象功能。Socket有很多种,大部分情况下我们使用的都是基于TCP/IP的流套接字,它是一种稳定的通信协议。技术分享

 

      主机A的应用程序要能和主机B的应用程序通信,必须通过Socket建立连接,而建立Socket连接必须由底层TCP/IP来建立TCP连接。建立TCP连接需要底层IP来寻址网络中的主机。网络层使用的IP可以帮助我们根据IP地址来找到目标主机,然后再通过TCP或UDP的地址也就是端口号来指定。这样就可以通过一个Socket实例来唯一代表一个主机上的应用程序的通信链路了。

      建立通信链路

      当客户端要与服务端通信时,客户端首先要创建一个Socket实例,操作系统将为这个Socket实例分配一个没有被使用的本地端口号,并创建一个包含本地地址、远程地址和端口号的套接字数据结构,这个数据结构将一直保存在系统中直到这个链接关闭。在创建Socket实例的构造函数正确返回之前,将要进行TCP的3次握手协议,TCP握手协议完成后,Socket实例对象将创建完成,否则将抛出IOException错误。

 

Java I/O的工作机制2