关于socket的理解及通信的过程

网络阶段:socket

对于socket的理解和本质:

Socket作为UNIX的进程通信机制,通常也称为"套接字",用于描述IP地址和端口,是一个通信连的句柄,可以用来实现不同虚拟机或不同计算机之间的通信,应用程序通常通过"套接字"向网络发出请求或者应答网络请求

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

Socket实质上提供了进程通信的端点.进程通信之前,双方首先必须各自创建一个端点,否则是没有办法建立联系并相互通信的.正如打电话之前,双方必须各自拥有一台电话机一样.在网络内部,每一个socket用一个半相关描述:(协议,本地地址.本地端口)一个完整的Socket有一个本地唯一的Socket号,由操作系统分配.

Socket连接过程:

套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认.

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

(2).客服端请求:是指由客服端的套接字提出连接请求,要连接的目标是服务器端的套接字.为此,客户端的套接字必须首先描述它要连接的服务器的套接字,指出服务器端套接字的地址和端口号,然后就向服务器端套接字提出连接请求.

(3).连接确认:是指当服务器端套接字监听到或者说接收到客服端套接字的连接请求,它就响应客服端套接字的请求,建立一个新的线程,把服务器端套接字的描述发给客服端,一旦客户端确认了此描述,连接就建立好.而服务器端的套接字还是处于在监听状态,继续接收其他客户端套接字的连接请求.

应用:

一般在游戏开放或者股票开发这种要求及时性很强并且保持发送数据量比较大的场合使用.主要使用类是CFSocketRef.

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值