python websocket_python之Websocket

WebSocket协议是基于TCP的一种新的协议。WebSocket最初在HTML5规范中被引用为TCP连接,作为基于TCP的套接字API的占位符。它实现了浏览器与服务器全双工(full-duplex)通信。其本质是保持TCP连接,在浏览器和服务端通过Socket进行通信。

一、Socket通讯的步骤

服务端:

1、服务端开始socket,监听IP和端口号;

2、服务端收到客户端的连接请求,允许连接;

5、服务端接收到特殊字符,特殊字符+magic string:258EAFA5-E914-47DA-95CA-C5AB0DC85B11,进行加密;

6、将加密后的字符串返回客户端;

客户端(浏览器):

2、客户端发起连接请求(IP和端口);

4、客户端生成一个xxx,向服务端发送一段特殊值(sha1加密,特殊值:magic_string:"258EAFA5-E914-47DA-95CA-C5AB0DC85B11")

客户端向服务端发送一串特殊字符;

7、客户端收到加密的值,然后特殊字符+magic string:258EAFA5-E914-47DA-95CA-C5AB0DC85B11,进行加密,加密后的值与接收到的值进行比对,

两者一致验证成功;

二、Socket通讯的详细步骤

1、启动服务端

importsocket

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

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

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

sock.listen(5)#等待用户连接

conn, address =sock.accept()

data= conn.recv(1024)print(data) ###

View Code

2、客户端连接

Title

varws= newWebSocket("ws://127.0.0.1:8002")