# The Swoole\Server class

(PHP 5 >= 5.2.0, PHP 7, PECL swoole >= 1.9.0)

## Introduction

## Class synopsis

Swoole\Server {
/* Methods */
public addlistener ( string `$host` , integer `$port` , string `$socket_type` ) : void
public addProcess ( swoole_process `$process` ) : boolean
public after ( integer `$after_time_ms` , callable `$callback` [, string `$param` ] ) : ReturnType
public bind ( integer `$fd` , integer `$uid` ) : boolean
public clearTimer ( integer `$timer_id` ) : void
swoole_timer_clear ( integer `$timer_id` ) : void
public close ( integer `$fd` [, boolean `$reset` ] ) : boolean
public confirm ( integer `$fd` ) : boolean
public connection_info ( integer `$fd` [, integer `$reactor_id` ] ) : array
public connection_list ( integer `$start_fd` [, integer `$pagesize` ] ) : array
public defer ( callable `$callback` ) : void
public Swoole\Server\Port::__destruct ( void ) : void
public Swoole\Server\Port::on ( string `$event_name` , callable `$callback` ) : ReturnType
public Swoole\Server\Port::set ( array `$settings` ) : void
public exist ( integer `$fd` ) : boolean
public finish ( string `$data` ) : void
public getClientInfo ( integer `$fd` [, integer `$reactor_id` ] ) : ReturnType
public getClientList ( integer `$start_fd` [, integer `$pagesize` ] ) : array
public getLastError ( void ) : integer
public heartbeat ( boolean `$if_close_connection` ) : mixed
public listen ( string `$host` , integer `$port` , string `$socket_type` ) : boolean
public on ( string `$event_name` , callable `$callback` ) : void
public pause ( integer `$fd` ) : void
public protect ( integer `$fd` [, boolean `$is_protected` ] ) : void
public reload ( void ) : boolean
public resume ( integer `$fd` ) : void
public send ( integer `$fd` , string `$data` [, integer `$reactor_id` ] ) : boolean
public sendfile ( integer `$fd` , string `$filename` [, integer `$offset` ] ) : boolean
public sendMessage ( integer `$worker_id` , string `$data` ) : boolean
public sendto ( string `$ip` , integer `$port` , string `$data` [, string `$server_socket` ] ) : boolean
public sendwait ( integer `$fd` , string `$data` ) : boolean
public set ( array `$settings` ) : ReturnType
public shutdown ( void ) : void
public start ( void ) : void
public stats ( void ) : array
public stop ([ integer `$worker_id` ] ) : boolean
public task ( string `$data` [, integer `$dst_worker_id` [, callable `$callback` ]] ) : mixed
public taskwait ( string `$data` [, float `$timeout` [, integer `$worker_id` ]] ) : void
public taskWaitMulti ( array `$tasks` [, double `$timeout_ms` ] ) : void
public tick ( integer `$interval_ms` , callable `$callback` ) : void
}

## Table of Contents

- Swoole\Server::addlistener — Add a new listener to the server.
- Swoole\Server::addProcess — Add a user defined swoole_process to the server.
- Swoole\Server::after — Trigger a callback function after a period of time.
- Swoole\Server::bind — Bind the connection to a user defined user ID.
- Swoole\Server::clearTimer — Stop and destory a timer.
- Swoole\Server::close — Close a connection to the client.
- Swoole\Server::confirm — Check status of the connection.
- Swoole\Server::connection_info — Get the connection info by file description.
- Swoole\Server::connection_list — Get all of the established connections.
- Swoole\Server::__construct — Construct a Swoole server.
- Swoole\Server::defer — Delay execution of the callback function at the end of current EventLoop.
- Swoole\Server\Port::__construct — Construct a server port
- Swoole\Server\Port::__destruct — Destory server port
- Swoole\Server\Port::on — Register callback functions by event.
- Swoole\Server\Port::set — Set protocol of the server port.
- Swoole\Server::exist — Check if the connection is existed.
- Swoole\Server::finish — Used in task process for sending result to the worker process when the task is finished.
- Swoole\Server::getClientInfo — Get the connection info by file description.
- Swoole\Server::getClientList — Get all of the established connections.
- Swoole\Server::getLastError — Get the error code of the most recent error.
- Swoole\Server::heartbeat — Check all the connections on the server.
- Swoole\Server::listen — Listen on the given IP and port, socket type.
- Swoole\Server::on — Register a callback function by event name.
- Swoole\Server::pause — Stop receiving data from the connection.
- Swoole\Server::protect — Set the connection to be protected mode.
- Swoole\Server::reload — Restart all the worker process.
- Swoole\Server::resume — Start receving data from the connection.
- Swoole\Server::send — Send data to the client.
- Swoole\Server::sendfile — Send file to the connection.
- Swoole\Server::sendMessage — Send message to worker processes by ID.
- Swoole\Server::sendto — Send data to the remote UDP address.
- Swoole\Server::sendwait — Send data to the remote socket in the blocking way.
- Swoole\Server::set — Set the runtime settings of the swoole server.
- Swoole\Server::shutdown — Shutdown the master server process, this function can be called in worker processes.
- Swoole\Server::start — Start the Swoole server.
- Swoole\Server::stats — Get the stats of the Swoole server.
- Swoole\Server::stop — Stop the Swoole server.
- Swoole\Server::task — Send data to the task worker processes.
- Swoole\Server::taskwait — Send data to the task worker processes in blocking way.
- Swoole\Server::taskWaitMulti — Execute multiple tasks concurrently.
- Swoole\Server::tick — Repeats a given function at every given time-interval.