Example #1
0
 public function ajax()
 {
     //判断Socket模块是否加载
     if (!extension_loaded('sockets')) {
         die('php sockets extension not loaded!');
     }
     //判断websocket服务器是否已运行, 没有运行则执行下面的代码创建, 防止重复创建websocket
     if (!add_lock('welive')) {
         die('WEBSOCKET server is running ...');
     }
     // socket接受或发送的最大数据限制(字节) 128K
     define('WEBSOCKET_MAX', 1024 * 128);
     // 最大连接数(设置大些, 可能有仅连接不传送信息的非法连接, 无法关闭)
     define('WEBSOCKET_ONLINE', 2048);
     // 屏蔽错误代码
     error_reporting(0);
     // 设置超时时间
     @set_time_limit(0);
     @ignore_user_abort(true);
     //忽略用户断开连接, 服务器脚本仍运行
     // 设置当前脚本可使用的最大内存, 默认为1024M, 同时连接人数太多时,可能不够
     @ini_set('memory_limit', '1024M');
     $websocket = new Websocket(WS_HOST, WS_PORT);
     $websocket->domain = '';
     //允许的域名
     $websocket->run();
     echo socket_strerror($websocket->error());
 }
Example #2
0
<?php

// 声明  include 目录常量
define('DIR_WEBSOCKET', dirname(__FILE__));
require DIR_WEBSOCKET . '/config.php';
require DIR_WEBSOCKET . '/function.php';
require DIR_WEBSOCKET . '/class/class_websocket.php';
if (!add_lock('lock')) {
    die('Running');
}
// 屏蔽错误代码
//error_reporting(0);
// 设置超时时间
ignore_user_abort(true);
set_time_limit(0);
// 修改内存
ini_set('memory_limit', WEBSOCKET_MEMORY);
$class_websocket = new class_websocket(WEBSOCKET_HOST, WEBSOCKET_PORT);
$class_websocket->key = WEBSOCKET_KEY;
$class_websocket->domain = WEBSOCKET_DOMAIN;
$class_websocket->function['add'] = 'add_socket_call';
$class_websocket->function['get'] = 'get_socket_call';
$class_websocket->function['close'] = 'close_socket_call';
$class_websocket->run();
echo socket_strerror($class_websocket->error());
/**
*	添加的时候
*
*	回调函数请勿直接使用
**/
function add_socket_call($accept, $index, $class)