示例#1
0
function socket_onConnect($socket)
{
    $err = socket_get_option($socket, SOL_SOCKET, SO_ERROR);
    if ($err == 0) {
        echo "connect server success\n";
        swoole_event_set($socket, null, 'socket_onWrite', SWOOLE_EVENT_READ);
        socket_write($socket, "first package\n");
    } else {
        echo "connect server failed\n";
        swoole_event_del($socket);
        socket_close($socket);
    }
}
示例#2
0
function stream_onWrite($fp)
{
    fwrite($fp, "hi swoole\n");
    swoole_event_set($fp, null, null, SWOOLE_EVENT_READ);
}
示例#3
0
 public function pepoll($opt = 'ADD', $type = 'def', $event = SWOOLE_EVENT_READ)
 {
     $fd = $this->getFd($type);
     if ($fd === -1) {
         return false;
     }
     $readHandle = $this->getHandle('read');
     $writeHandle = $this->getHandle('write');
     if ($writeHandle === null && $readHandle === null) {
         return false;
     }
     switch ($opt) {
         case 'ADD':
             $ret = swoole_event_add($fd, $readHandle, $writeHandle, $event);
             break;
         case 'MOD':
             $ret = swoole_event_set($fd, $readHandle, $writeHandle, $event);
             break;
         case 'DEL':
             $ret = swoole_event_del($fd, $readHandle, $writeHandle, $event);
             break;
         default:
             return false;
             break;
     }
     return $ret;
 }