2
回答
python socket ssl 连接小程序websocket
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

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

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

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

我python 端代码:

小程序端一直连接不上,

 

<无标签>
举报
史宏亮
发帖于3个月前 2回/88阅

你这样直接写普通的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;
    }

 

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

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

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

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

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

 

顶部