基于Swoole做Socket服务器开发探索与实现PHP代码热更新机制

#基于Swoole做Socket服务器开发 ##实现:
1、Socket分组,各组允许设定转发服务器,设定转发服务器后服务器会将该Socket信息转发给设定好的转发服务器,可以设定
2、兼容Socket连接和WebSocket连接,以后尽量兼容HTTP连接 3、热更新机制,允许socket服务器不停机状态下更新处理逻辑

尝试热更新机制:
即Socket服务器持续运行,通过include命令引入外部PHP文件,在不同的时刻触发的include引入文件会发生变化,观察变化是否有效。
服务端代码: s.php

// create a server instance
	$serv = new swoole_server("0.0.0.0", 9999);

// attach handler for connect event, once client connected to server the registered handler will be executed
	$serv->on('connect', function ($serv, $fd){
		echo "Client:Connect.\n";
	});
// attach handler for receive event, every piece of data received by server, the registered handler will be
// executed. And all custom protocol implementation should be located there.
	$serv->on('receive', function ($serv, $fd, $from_id, $data) {
		include 'handle.php';
	});

	$serv->on('close', function ($serv, $fd) {
		echo "Client: Close.\n";
	});

// start our server, listen on port and ready to accept connections
	$serv->start();

引入文件 handle.php

$serv->send($fd,'b');

通过变更b字符串实现不同的输出
测试结果:

12:32:03 发送数据:f[1次]
12:32:03 收到数据:a
12:32:16 发送数据:f[1次]
12:32:16 收到数据:b

通过。

即,可以通过一个Socket监听,在receive事件中引入逻辑文件实现逻辑的热更新。

转载于:https://my.oschina.net/yanpengquan/blog/470492

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值