Socket

来源:互联网 发布:aloha什么软件 编辑:程序博客网 时间:2024/06/14 20:40

网上找的资料,半原创!前语: 作者是菜鸟,为了印象深刻才写的博客,不建议为参考博客!!!(*^__^*)

Socket是应用层与TCP/IP协议通讯中的抽象层,网络上两个程序通过一个双向的通讯连接数据的交换,这个连接的一端成为Socket.。

Socket又成为“套字节“,应用程序通常通过“套字节”向网络发出请求或者应答网络请求。Socket是建立网络连接时使用的,在连接成功时,应用程序两端都会产生一个Socket实例操作这个实例,完成所需的会话,Socket是平等的,不因为在服务端或者在客户端而产生不同级别。

任何用户在通话之前,首先要占有一部电话机,相当于申请一个Socket;同时要知道对方的号码,相当于对方有一个固定的Socket.然后向对方拨号呼叫,相当于发出连接请求,拿起电话话筒,双方就可以通话,相当于连接成功。客户端发送数据请求,服务端收到请求并处理请求,然后把回应数据发给客户端,客户端读取数据,并关闭连接,一次交互结束。

一个完整的Socket有一个本地唯一的Socket号,由操作系统分配,如果双方没有一个固定的Socket,就好比不知道对方的电话号码,这时想要进行通讯是不可能的。Socket之间的连接过程可以分为三个步骤:服务器监听、客户端请求、连接确认。

1.服务器监听:是服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态。

2.客户端请求:是指由客户端提出连接请求,要连接的目标是服务器端的套接字,指出服务器端的地址和端口号,就可以向服务器端连接请求。

3.连接确认:是指当服务器监听到或者接收到客户端的连接请求,她就响应客户端的请求,建立一个新的线程,把服务端的Socket描述发给客户端,一旦客户端确认了此描述,连接就建立好了。而服务器继续处于监听状态,继续接受客户端的连接请求。


0 0