From RAD Studio API Documentation
Jump to: navigation, search


property ServerType: TServerType read GetServerType write SetServerType;


__property TServerType ServerType = {read=GetServerType, write=SetServerType, nodefault};


Type Visibility Source Unit Parent
property protected
System.Win.ScktComp TCustomServerSocket


Specifies whether each connection accepted by the server socket is non-blocking, or if it is automatically given a separate execution thread.

Set ServerType to stThreadBlocking to automatically spawn a new thread for each socket connection accepted by the server socket. When ServerType is stThreadBlocking, the execution of the connection thread is suspended while reading or writing until all information has been transferred over the connection. The thread for each connection generates OnClientRead or OnClientWrite events when the server socket needs to read or write.

Set ServerType to stNonBlocking to handle all reading and writing over the socket connections asynchronously. When ServerType is stNonBlocking, all client connections are handled in a single execution thread by default. OnClientRead or OnClientWrite events occur when the client socket on the other end of one of the connections tries to send or receive information over the connection.

Use a non-blocking socket when the socket needs to synchronize reading and writing with client sockets.

Note: When ServerType is stThreadBlocking, it is important that the OnClient... event handlers contain thread-safe code.

See Also