我已将一个Phoenix应用程序推送到Heroku,并且它运行良好,除了连接到iOS的频道。使用PhoenixWebSocket无法连接到使用Heroku从iOS上托管的Phoenix频道
浏览器上的通道按预期工作。
在iOS中,我使用PhoenixWebSocket,并在开发环境中,连接到当地的凤凰应用程序按预期工作。
我得到的问题是,当我点了网络插座网址Heroku的应用程序,我得到以下错误:
Error Domain=WebSocket Code=301 "Invalid HTTP upgrade" UserInfo={NSLocalizedDescription=Invalid HTTP upgrade}
今天早些时候四处寻找错误信息,我发现从克里斯·麦科德后,我想是的,说这个错误信息是服务器拒绝升级请求的结果。
但是,我环顾了Heroku并发现了这个; Websockets functionality is supported for all applications。
所以我很困惑我的问题是在iOS端还是Heroku端。
我已经将Chris的示例chat application推送到Heroku,并尝试连接PhoenixWebSocket附带的演示应用程序,但得到相同的错误。
是否有其他人设法让iOS套件和Heroku托管Phoenix应用程序之间的网络套接字请求?
有人会知道,如果有什么不同,我需要在iOS试图加入该频道之前处理请求?或者,也许有一些与我错过的网络套接字相关的Heroku设置?
在iOS的请求的网址:
let url = NSURL(string: "ws://app-name-32793.heroku.com/socket/websocket")!
非常感谢任何人,可以帮助,并请让我知道如果有什么我可以提供帮助。
保罗
保罗,你的运气如何解决呢?我遇到了同样的问题 - 也使用了一个iOS客户端,并在Heroku上托管了Phoenix后端。 – fastredshoes
不幸的是没有。我目前正在设置我自己的Centos 7服务器。如果我找到了解决heroku问题的任何内容,我会回复。 –
@fastredshoes我还没回去尝试修复Heroku问题,因为我在我自己的服务器上修复了相同的问题。我在这篇文章中找到了帮助:[link](http://stackoverflow.com/questions/38229629/how-to-set-up-websockets-with-phoenix-behind-nginx/38230388?noredirect= 1个#comment63907382_38230388)。 HTH你。 –