websocket

1 长轮询  发过去 一直等着 兼容性比较好业内用着比较多的还是

web 单项通道 由浏览器发起,服务器只是响应  http 协议规定这样的

 

 

-http  链接短     链接响应断开,只能请求和响应

-websocket   socket 实现的,目前浏览器兼容性都有,概念已经有了,但是目前开始应用起来了

-websocket 双工通道 == socket 实现的 ,客户端请求,服务端响应,也能主动推送响应(聊天室) socket 创建连接,不断开

websocket 协议

===============

socket 入手

 

-服务端(socket服务器)

  1. 开启socket,监听ip和端口

       3.允许连接成功 

       5 服务端接收到特殊值(进行加密sha1,migic string="不变的值")

   6 加密的值发送客户端

- 客户端(浏览器)

     2.客户端连接服务端(ip和端口)

     *4 向服务端发送一段特殊值

  7客户度那接收到加密值

 

+++++++++++++收发数据+++++++++++

HTML (浏览器)

<script>

ws = new WebSocket(url="ws://127.0.0.1:80");

 

 

</script>

 

 

服务器端

socket  创建

 

import socket

sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR,1)

sock.bind(("127.0.0.1",8002))

sock.listen(5)

等待握手

conn, addr = sock.accept()

data = conn.recv(8096)

 

获取握手消息,magic string,sha1 加密

发送客户端

conn.send("123")

 

posted @ 2018-07-19 18:12  芒果先生丶  阅读(143)  评论(0编辑  收藏  举报