KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am developing a simple websocket server in PHP. I know there are quite a few existing implementations but I want to make my own so to learn the protocol better. I managed to do the handshaking fine and my clients connect to the server. I also managed to decode the data from the client but I have problems sending back messages. The client disconnects when it receives my response. Firefox says The connection to ws://localhost:12345/ was interrupted while the page was loading. . I used this answer as a guide. Here is my code for wrapping the data: private function wrap($msg = ""){ $length = strlen($msg); $this->log("wrapping (" . $length . " bytes): " . $msg); $bytesFormatted = chr(129); if($length <= 125){ $bytesFormatted .= chr($length); } else if($length >= 126 && $length <= 65535) { $bytesFormatted .= chr(126); $bytesFormatted .= chr(( $length >> 8 ) & 255); $bytesFormatted .= chr(( $length ) & 255); } else { $bytesFormatted .= chr(127); $bytesFormatted .= chr(( $length >> 56 ) & 255); $bytesFormatted .= chr(( $length >> 48 ) & 255); $bytesFormatted .= chr(( $length >> 40 ) & 255); $bytesFormatted .= chr(( $length >> 32 ) & 255); $bytesFormatted .= chr(( $length >> 24 ) & 255); $bytesFormatted .= chr(( $length >> 16 ) & 255); $bytesFormatted .= chr(( $length >> 8 ) & 255); $bytesFormatted .= chr(( $length ) & 255); } $bytesFormatted .= $msg; $this->log("wrapped (" . strlen($bytesFormatted) . " bytes): " . $bytesFormatted); return $bytesFormatted; } UPDATE: I tried it with Chrome and I got the following e
Tags (comma-separated)
Save Edits
Cancel