用于在两个的应用程序之间相互通信,socket是属于TCPIP的上一层。最早出现在UNIX系统中,是UNIX系统主要的信息传递方式。
在WINDOWS系统中,SOCKET称为WINSOCK。两个基本概念:客户方和服务方。当两个应用之间需要采用SOCKET通信时,
首先需要在两个应用之间(可能位于同一台机器,也可能位于不同的机器)建立SOCKET连接,发起呼叫连接请求的一方为客户方,
接受呼叫连接请求的一方成为服务方。客户方和服务方是相对的,同一个应用可以是客户方,也可以是服务方。在客户方呼叫连接请求之前
,它必须知道服务方在哪里。所以需要知道服务方所在机器的IP地址或机器名称,如果客户方和服务方事前有一个约定就好了,
这个约定就是PORT(端口号)。也就是说,客户方可以通过服务方所在机器的IP地址或机器名称和端口号唯一的确定方式来呼叫服务方。
在客户方呼叫之前,服务方必须处于侦听状态,侦听是否有客户要求建立连接。
一旦接到连接请求,服务方可以根据情况建立或拒绝连接。连接方式有两种,同步方式(Blocking)和异步方式(noBlocking)。
客户方发送的消息可以是文本,也可以是二进制信息流。当客户方的消息到达服务方端口时,会自动触发一个事件(event),服务方只要接管该事件,
就可以接受来自客户方的消息了
信息流有广义和狭义两种。广义指在空间和时间上向同一方向运动过程中的一组信息,它们有共同的信息源和信息的接收者,即由一个信息源向另一个单位传递的全部信息的集合。狭义指信息的传递运动,这种传递运动是在现代信息技术研究、发展、应用的条件中,信息按照一定要求通过一定渠道进行的。