phpwebsocket -


GPLv3
跨平台
PHP

软件简介

从名字上也可看出,这是一个 WebSocket 的 PHP 实现。

示例客户端代码:

var host = "ws://localhost:12345/websocket/server.php";  
try{  
  socket = new WebSocket(host);  
  log('WebSocket - status '+socket.readyState);  
  socket.onopen    = function(msg){ log("Welcome - status "+this.readyState); };  
  socket.onmessage = function(msg){ log("Received: "+msg.data); };  
  socket.onclose   = function(msg){ log("Disconnected - status "+this.readyState); };  
}  
catch(ex){ log(ex); }

示例服务器端代码:

log("Handshaking...");  
list($resource,$host,$origin) = getheaders($buffer);  
$upgrade = "HTTP/1.1 101 Web Socket Protocol Handshake\r\n" .  
           "Upgrade: WebSocket\r\n" .  
           "Connection: Upgrade\r\n" .  
           "WebSocket-Origin: " . $origin . "\r\n" .  
           "WebSocket-Location: ws://" . $host . $resource . "\r\n" .  
           "\r\n";  
$handshake = true;  
socket_write($socket,$upgrade.chr( ),strlen($upgrade.chr( )));