1 回答

TA貢獻1951條經(jīng)驗 獲得超3個贊
所以,我設法讓它一切正常。首先,對于握手失敗的部分,我可能有錯誤的路徑:
'local_cert' => '<my_ssl_cert_path>.pem', 'local_pk' => '<my_ssl_cert_key>.key',
因為我創(chuàng)建了一個新的證書和密鑰并使用了它們,并且我在 android 客戶端使用的tech.gusavila92.websocketclient.WebSocketClient ` 類中通過了“握手失敗”錯誤。
在那之后,我在 WebSocket 類中出現(xiàn)了“預期 101,得到 500”錯誤。我做了一些挖掘,發(fā)現(xiàn)這是因為我不能使用new WebSocketClient("wss://ip-address:port");
,但我必須使用new WebSocketClient("wss://ip-address:port/");
,注意額外的斜線。
這是理由。顯然頭的第一行是使用“GET raw_url 1.1”構建的,如果沒有斜線,則會得到“GET HTTP/1.1”,但 PHP Guzzle 想要看到“GET / HTTP/1.1”,而不是“ GET HTTP/1.1",或者在解析標頭時拋出異常。在這種情況下,raw_url 是 :port 之后的所有內容,所以如果你不加“/”,你會得到一個空白的 raw_url,所以你會得到“GET HTTP/1.1”,但是如果你在后面加一個斜杠,你會得到“GET / HTTP/1.1"
- 1 回答
- 0 關注
- 402 瀏覽
添加回答
舉報