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); } }
function stream_onWrite($fp) { fwrite($fp, "hi swoole\n"); swoole_event_set($fp, null, null, SWOOLE_EVENT_READ); }
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; }