美文网首页
scoket是怎么建立连接的?

scoket是怎么建立连接的?

作者: Adam_潜 | 来源:发表于2018-12-09 16:28 被阅读12次

    socket.io, websocket

    websocket的特点
    websocket可以传输文本和二进制。
    websocket的协议头是ws开头的,并不是http。
    WebSocket协议是一种双向通信协议,它建立在TCP之上,同http一样通过TCP来传输数据,但是它和http最大的不同有两 点:1.WebSocket是一种双向通信协议,在建立连接后,WebSocket服务器和Browser/UA都能主动的向对方发送或接收数据,就像 Socket一样,不同的是WebSocket是一种建立在Web基础上的一种简单模拟Socket的协议;2.WebSocket需要通过握手连接,类 似于TCP它也需要客户端和服务器端进行握手连接,连接成功后才能相互通信。
    node.js提供了高效的服务端运行环境,但是由于浏览器端对HTML5的支持不一,为了兼容所有浏览器,提供卓越的实时的用户体验,并且为程序员提供客户端与服务端一致的编程体验,于是socket.io诞生。Socket.io将Websocket和轮询 (Polling)机制以及其它的实时通信方式封装成了通用的接口,并且在服务端实现了这些实时机制的相应代码。也就是说,Websocket仅仅是 Socket.io实现实时通信的一个子集。那么,Socket.io都实现了Polling中的那些通信机制呢?
    webSocket开源框架:SocketRocket 简单的使用
    其中最后一个是接受pong消息的,在这里就要提一下心跳包,一般情况下建立长连接都会建立一个心跳包,用于每隔一段时间通知一次服务端,客户端还是在线,这个心跳包其实就是一个ping消息,我的理解就是建立一个定时器,每隔十秒或者十五秒向服务端发送一个ping消息,这个消息可是是空的

    如果服务端是Java
    客户端就一般类说就不是websocket了, AsyncSocket

    相关文章

      网友评论

          本文标题:scoket是怎么建立连接的?

          本文链接:https://www.haomeiwen.com/subject/hmhkhqtx.html