我有一个使用websockets的服务器。它是用Go编写的。为了测试,我有另一个用Go编写的应用程序。要测试,我启动服务器,然后运行测试客户端。测试客户端创建与服务器的websocket连接并执行操作(基本上模仿用户活动)。客户端和服务器都使用gorilla / websockets库,标准浏览器也可以与服务器一起使用。
这一切都很美妙。
为了支持不兼容的浏览器,我被要求开始使用SockJS Go服务器库。我这样做了,当使用SockJS库的客户端从浏览器使用时,新版本工作得很好。
现在出现问题。 SockJS 不接受传入的websocket连接。仅来自SockJS客户端的连接。所以我的测试应用程序无法运行,而且我无法测试。
我可以从git恢复旧版本的连接代码,并创建一个使用gorilla / websockets的独立连接类型,让我的服务器监听另一个只监听localhost的端口。这将允许我测试功能。缺点是我必须维护两个版本基本相同的代码,我不会测试真实的用户体验,也可能在生产之前找不到bug。
理想情况下,SockJS服务器,考虑到它仍然使用 gorilla / websockets作为依赖项会自动接受正确的websocket连接,但是除非我在Go中需要一个SockJS客户端库。据我所知,它并不存在。
有人有解决方案吗?谢谢!