我已經開始在http://code.google.com/p/phpwebsocket/中使用websocket php示例它在localhost上運行得非常好,但不幸的是,除localhost之外的任何客戶端都無法連接到websocket服務器。每當我將路徑更改爲http://10.27.50.25:8787/client.html之類的東西時,它都不會讓客戶端連接。有沒有人有任何想法/示例如何解決它?如何告訴websocket服務器接受傳入連接?
在此先感謝
我已經開始在http://code.google.com/p/phpwebsocket/中使用websocket php示例它在localhost上運行得非常好,但不幸的是,除localhost之外的任何客戶端都無法連接到websocket服務器。每當我將路徑更改爲http://10.27.50.25:8787/client.html之類的東西時,它都不會讓客戶端連接。有沒有人有任何想法/示例如何解決它?如何告訴websocket服務器接受傳入連接?
在此先感謝
可能是跨域問題。現代瀏覽器阻止訪問除加載頁面的主機之外的主機。你可以通過提供JSON作爲輸出來解決它,然後使用jQuery Ajax JSON解析。
是的。如果這不是防火牆問題,並且如果測試是從本地進行的,那麼很有可能這個問題是跨域配置。然而,使用AJAX作爲解決方案不僅能夠擊敗websocket的目的,還會浪費websocket的內置跨域設計。 – Sheepy
你檢查過防火牆嗎? – Sheepy
@Sheepy是對的,這可能是一個防火牆問題,但它也值得嘗試通過'(int)0'作爲地址綁定到服務器端偵聽套接字 - 這綁定到所有可用的接口。 PS。我知道PHP手冊說你應該通過'0.0.0.0'來做到這一點,但這並不總是在win32上工作。通過'0'似乎在我嘗試過的任何地方都能正常工作 – DaveRandom
是的,防火牆已關閉。 – dansc