基本用法
websocket服务器网易云课堂workerman实战之PHP在线客服聊天
<?php
require_once __DIR__ . '/vendor/autoload.php';
use Workerman\Worker;
// 创建一个Websocket服务器
$ws_worker = new Worker("websocket://0.0.0.0:2346");
$ws_worker->count = 4;
// 在新连接到来时发出
$ws_worker->onConnect = function($connection)
{
echo "New connection\n";
};
// 接收数据时发出
$ws_worker->onMessage = function($connection, $data)
{
// Send hello $data
$connection->send('hello ' . $data);
};
// 连接关闭时发出
$ws_worker->onClose = function($connection)
{
echo "Connection closed\n";
};
// 运行worker
Worker::runAll();
http服务器
require_once __DIR__ . '/vendor/autoload.php';
use Workerman\Worker;
// #### http worker ####
$http_worker = new Worker("http://0.0.0.0:2345");
$http_worker->count = 4;
// 接收数据时发出
$http_worker->onMessage = function($connection, $data)
{
//$_GET、$_POST、$_COOKIE、$_SESSION、$_SERVER、$_FILES都是可用的
var_dump($_GET, $_POST, $_COOKIE, $_SESSION, $_SERVER, $_FILES);
// 发送数据给客户端
$connection->send("hello world \n");
};
// 运行所有workers
Worker::runAll();
WebServer
require_once __DIR__ . '/vendor/autoload.php';
use Workerman\WebServer;
use Workerman\Worker;
// WebServer
$web = new WebServer("http://0.0.0.0:80");
$web->count = 4;
$web->addRoot('www.your_domain.com', '/your/path/Web');
$web->addRoot('www.another_domain.com', '/another/path/Web');
Worker::runAll();
TCP服务器
require_once __DIR__ . '/vendor/autoload.php';
use Workerman\Worker;
// #### 创建socket并监听1234端口 ####
$tcp_worker = new Worker("tcp://0.0.0.0:1234");
$tcp_worker->count = 4;
//在新连接到来时发出
$tcp_worker->onConnect = function($connection)
{
echo "New Connection\n";
};
// 接收数据时发出
$tcp_worker->onMessage = function($connection, $data)
{
// 发送数据给客户端
$connection->send("hello $data \n");
};
// 在新连接到来时发出
$tcp_worker->onClose = function($conn