关于WebSocket的疑问和建议
发布于 5 年前 作者 junxie 11579 次浏览 来自 问答

我自己搭建的WebSocket服务器,在微信开发工具中测试成功,但在苹果及安卓真机上测试都不成功,我的地址加了端口,不知道是不是这个原因,但文档中只是wx.request中提到url中不能有端口,而wx.connectSocket没有说不能带端口。

另外,真机上即使没连接成功,wx.connectSocket方法 有时 却执行了success回调函数。注,连接成功,服务端都有日志记录,而真机连接没有日志记录,所以确定是没有连接成功,而且后续发送消息也不成功。

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

建议,所有请求都可以带端口,有时候由于一些原因,有必要使用其他端口。

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

HTML5原生的WebSocket接口就很好用,但小程序中似乎不让使用,提示WebSocket is not a constructor。

9 回复

这个我知道,ws/wss,分别和http/https的默认端口一样,即80/443,关键是,服务器443端口已经被占用,需要更改端口。

为什么要限制端口呢?

回五楼,你不清楚我的服务器环境,我的WebSocket没有寄宿在WEB服务器(IIS),而是寄宿在windows服务,用的是SuperSocket.WebSocket(SuperWebSocket)

@logic  可以同时使用 80/443的啊,你用ws://example.com/wspath/

nginx里面,把/wspath/   proxy_pass到后端websocket服务器

再回五楼,将WebSocket整合在web中,和http/https共用端口,我也做出来了的,但我现在要做成windows服务

请问你用的SuperWebSocket是如何配置使用TLS1.2协议的 ,我用的Fleck做的websocket服务器,一切都正常,但是superwebsocket在手机微信客户端连接不上

微信小程序开发交流学习群: 537818156,欢迎小程序发烧友加入。

楼主你好,请问你的问题解决了吗?

下面是服务器端的日志记录,用微信开发工具配合微信的WebSocket接口,用其他浏览器配合HTML5的WebSocket接口,无论是连接、断开、发送消息,都有日志,而唯独使用苹果和安卓真机没有记录。

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

2017-02-10 22:05:13 WebSocket服务停止

2017-02-10 22:05:14 WebSocket服务启动

2017-02-10 22:05:14 WebSocket服务端初始化成功,IP:any,端口:2012

2017-02-10 22:05:14 开启WebSocket服务侦听成功

2017-02-10 22:05:41 客户端:171.208.153.101:4420连接服务器

2017-02-10 22:05:44 接收到来自客户端:171.208.153.101:4420的消息:Hello World

2017-02-10 22:06:27 客户端:171.208.153.101:4494连接服务器

2017-02-10 22:06:31 接收到来自客户端:171.208.153.101:4494的消息:测试消息

2017-02-10 22:06:33 客户端:171.208.153.101:4494与服务器断开连接,原因:ClientClosing

2017-02-10 22:06:38 客户端:171.208.153.101:4420与服务器断开连接,原因:ClientClosing


回到顶部