我想實現我自己的WebSocket服務器和正在運行到一點與在JavaScript中的onMessage功能的麻煩。它只是不會開火!我把一個警報放進去,每當它被調用時都會觸發,並且警報永不出現。我試過Firefox和Chrome都無濟於事。的WebSocket的onMessage不點火
至於我可以告訴大家,我的服務器發送正確的消息還有,當我把它翻譯成十六進制,它完美地與實例相匹配的文檔,這裏的第5.7節:
http://datatracker.ietf.org/doc/rfc6455/?include_text=1
所以我不完全確定我做錯了什麼。握手工作正常,結束時也是如此。這裏是我目前發送郵件的代碼:
formatted_bytes = []
formatted_bytes.append(129)
message_bytes = bytearray(message)
data_start = 0
if (len(message_bytes) <= 125):
formatted_bytes.append(len(message_bytes))
start = 2
for byte in message_bytes:
formatted_bytes.append(byte)
client_socket.send(bytes(formatted_bytes))
服務器是用python編寫的,忘記提及了。
我認爲,我們需要看到的服務器端代碼。我對此不太瞭解,但我認爲這可能是因爲缺少Web套接字握手。 –
嘗試打開你的JavaScript開發者控制檯,看看你是否得到任何錯誤/警告。另外,你確定握手是否正確地發生了(即onopen處理程序是否觸發?)你是否有一個onclose處理程序來確保連接後沒有錯誤? – kanaka
@Amaan這是服務器端代碼。握手工作正常,onopen事件在javascript中正確觸發。 –