php傻瓜式搭建tcp及websocket服务
// 引入Swoole库
require 'vendor/autoload.php';
use Swoole\Server;
use Swoole\WebSocket\Server as WebSocketServer;
// 创建TCP服务器
$tcp_server = new Server('127.0.0.1', 9501);
// 注册连接回调
$tcp_server->on('Connect', function ($server, $fd) {
echo "TCP连接建立,客户端ID:{$fd}\n";
});
// 注册接收数据回调
$tcp_server->on('Receive', function ($server, $fd, $reactor_id, $data) {
$server->send($fd, "TCP服务器收到数据:{$data}");
});
// 注册连接关闭回调
$tcp_server->on('Close', function ($server, $fd) {
echo "TCP连接关闭,客户端ID:{$fd}\n";
});
// 启动TCP服务器
$tcp_server->start();
// 创建WebSocket服务器
$ws_server = new WebSocketServer('127.0.0.1', 9502);
// 注册打开连接回调
$ws_server->on('Open', function ($ws, $request) {
echo "WebSocket连接建立,客户端ID:{$request->fd}\n";
});
// 注册接收消息回调
$ws_server->on('Message', function ($ws, $frame) {
$ws->push($frame->fd, "WebSocket服务器收到消息:{$frame->data}");
});
// 注册关闭连接回调
$ws_server->on('Close', function ($ws, $fd) {
echo "WebSocket连接关闭,客户端ID:{$fd}\n";
});
// 启动WebSocket服务器
$ws_server->start();
这段代码创建了一个TCP服务器和一个WebSocket服务器,并实现了简单的数据接收和发送逻辑。在实际应用中,你需要根据具体需求扩展这些回调函数,比如处理数据、管理连接状态、验证连接等。
评论已关闭