• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php websocket

php 搞代码 4年前 (2022-01-23) 17次浏览 已收录 0个评论

http://code.google.com/p/phpws/

Description

WebSocket Server and Client library for PHP. Works with the latest HyBi specifications, as well the older Hixie #76 specification used by older Chrome versions and some Flash fallback solutions.

This project was started to bring more interactive features to http://www.u2start.com/

Downloads

Currently no downloads are available. Source and simple example available in GIT repository (see Source tab).

Features

Server

Hixie #76 and Hybi #12 protocol versions Flash client support (also serves XML policy file on the same port) See https://github.com/gimite/web-socket-js for a compatible Flash Client Native Firefox, Safari (iPod / iPhone as well), Chrome and IE10 support. With Flash Client every browser supporting Flash works as well (including IE6-9, Opera, A2本文来源gaodaima#com搞(代@码$网6

搞gaodaima代码

ndroid and other older desktop browsers). Opera (Mobile) supports WebSockets natively but support has been disabled by default. Can be enabled in opera:config.

Client

Hybi / Hixie76 support. Known Issues SSL support not well field tested. Lacks ORIGIN checking (can be implemented manually in onConnect using getHeaders(), just disconnect the user when you dont like the Origin header) No support for extension data from the HyBi specs. Requirements

Server

PHP 5.3 Open port for the server PHP OpenSSL module to run a server over a encrypted connection

Client

PHP 5.3 Server that implements the HyBi (#8-#12) draft version PHP OpenSSL module to connect using SSL (wss:// uris) Server Example

#!/php -q<?php// Run from command prompt > php demo.phprequire_once("websocket.server.php");/** * This demo resource handler will respond to all messages sent to /echo/ on the socketserver below * * All this handler does is echoing the responds to the user * @author Chris * */class DemoEchoHandler extends WebSocketUriHandler{        public function onMessage(IWebSocketConnection $user, IWebSocketMessage $msg){                $this->say("[ECHO] {$msg->getData()}");                // Echo                $user->sendMessage($msg);        }        public function onAdminMessage(IWebSocketConnection $user, IWebSocketMessage $obj){                $this->say("[DEMO] Admin TEST received!");                $frame = WebSocketFrame::create(WebSocketOpcode::PongFrame);                $user->sendFrame($frame);        }}/** * Demo socket server. Implements the basic eventlisteners and attaches a resource handler for /echo/ urls. * * * @author Chris * */class DemoSocketServer implements IWebSocketServerObserver{        protected $debug = true;        protected $server;        public function __construct(){                $this->server = new WebSocketServer(0, 12345, 'superdupersecretkey');                $this->server->addObserver($this);                $this->server->addUriHandler("echo", new DemoEchoHandler());        }        public function onConnect(IWebSocketConnection $user){                $this->say("[DEMO] {$user->getId()} connected");        }        public function onMessage(IWebSocketConnection $user, IWebSocketMessage $msg){                $this->say("[DEMO] {$user->getId()} says '{$msg->getData()}'");        }        public function onDisconnect(IWebSocketConnection $user){                $this->say("[DEMO] {$user->getId()} disconnected");        }        public function onAdminMessage(IWebSocketConnection $user, IWebSocketMessage $msg){                $this->say("[DEMO] Admin Message received!");                $frame = WebSocketFrame::create(WebSocketOpcode::PongFrame);                $user->sendFrame($frame);        }        public function say($msg){                echo "$msg \r\n";        }        public function run(){                $this->server->run();        }}// Start server$server = new DemoSocketServer(0,12345);$server->run();

Client Example

The Client is not as interesting as the server and is mainly used to test the server

<?php        require_once("websocket.client.php");        $input = "Hello World!";        $msg = WebSocketMessage::create($input);        $client = new WebSocket("ws://127.0.0.1:12345/echo/");        $client->sendMessage($msg);        // Wait for an incoming message        $msg = $client->readMessage();        $client->close();        echo $msg->getData(); // Prints "Hello World!" when using the demo.php server

?>


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php websocket

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址