swoole websocket 刚起的时候可以连接,一会就不行了
报错是:
failed: Invalid frame header
查了一下 进程是在的
$table = new swoole_table(1024);
$table->column('fd', swoole_table::TYPE_INT);
$table->create();
$serv = new swoole_websocket_server("0.0.0.0", 9502);
$serv->addlistener('0.0.0.0', 9503, SWOOLE_SOCK_TCP);
$serv->table = $table;
$serv->on('Open', function($server, $req) {
$server->table->set($req->fd, array('fd' => $req->fd));//获取客户端id插入table
$log = "connection open: ".$req->fd."\n";
echo $log;
Logger::write($log);
});
$serv->on('Message', function($server, $frame) {
$fd = $frame->fd;
$info = $server->connection_info($fd);
$log = "fd:".$frame->fd." data:".$frame->data."\n";
echo $log;
Logger::write($log);
if( $info['server_port'] == 9503 )
$server->push($fd, "you are admin");
else{
$server->push($fd, "this is server");
}
});
$serv->on('Close', function($server, $fd) {
$log = "connection close: ".$fd."\n";
$server->table->del($fd); //从table中删除断开的id
echo $log;
Logger::write($log);
});
$serv->start();
在线求解决方案
加上了日志
结果报
zm_deactivate_swoole (ERROR 9003): worker process is terminated by exit()/die().、
想起来了,好像韩大对这个问题回答过,给你地址。
http://group.swoole.com/quest...
========================
这个问题应该是传送信息有效长度的问题,给你个stackoverflow的文章,你参考下。
https://stackoverflow.com/que...