python socket ssl 连接小程序websocket

x631084848 发布于 2017/09/04 10:42
阅读 621
收藏 0

python socket ssl 连接小程序websocket,demo,小程序设置里面已经填写了域名

request合法域名
  • https://xxxx.com
   
socket合法域名
  • wss://xxxx.com

我https后面的域名和wss后面的域名是一样的,

我python 端代码:

小程序端一直连接不上,

 

加载中
0
wei2011
wei2011

你这样直接写普通的tcp服务端,websocket客户端应该连不上,因为websocket是包装了一些东西的不是纯的socket。我之前用websockets这个库写服务端(https://websockets.readthedocs.io/en/stable/),基于python3+asyncio,部署时用uvloop,感觉到还不错。然后在nginx配置ssl,再由nginx连你的websocket server就行了。nginx配置如下:

   location /wss {
        include proxy_params;
        proxy_http_version 1.1;
        proxy_buffering off;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_pass http://192.168.253.199:8003;
    }

 

0
Shabby-滔
Shabby-滔

websocket是一个协议..要连接服务端,就必须要和服务端握手。

要和服务端握手就必须要请求头符合websocket的规范.

小程序发送的websocket是符合规范的了,但是看你的这些代码没有看出你有处理握手事件.

我建议你先在python端里输出一下整个请求头.和websocket协议对比一下,有没缺少东西,(因为如果经过nginx或apache转发,可能会丢东西)

然后再看看websocket是怎样握手的,这个其实可以用python的第三方库来实现.

 

返回顶部
顶部