NetCoreServer
Dynamic byte buffer
Is the buffer empty?
Bytes memory buffer
Bytes memory buffer capacity
Bytes memory buffer size
Bytes memory buffer offset
Buffer indexer operator
Initialize a new expandable buffer with zero capacity
Initialize a new expandable buffer with the given capacity
Initialize a new expandable buffer with the given data
Get a span of bytes from the current buffer
Get a string from the current buffer
Clear the current buffer and its offset
Extract the string from buffer of the given offset and size
Remove the buffer of the given offset and size
Reserve the buffer of the given capacity
Resize the current buffer
Shift the current buffer offset
Unshift the current buffer offset
Append the single byte
Byte value to append
Count of append bytes
Append the given buffer
Buffer to append
Count of append bytes
Append the given buffer fragment
Buffer to append
Buffer offset
Buffer size
Count of append bytes
Append the given span of bytes
Buffer to append as a span of bytes
Count of append bytes
Append the given buffer
Buffer to append
Count of append bytes
Append the given text in UTF-8 encoding
Text to append
Count of append bytes
Append the given text in UTF-8 encoding
Text to append as a span of characters
Count of append bytes
File cache is used to cache files in memory with optional timeouts.
FileSystemWatcher is used to monitor file system changes in cached
directories.
Thread-safe.
Is the file cache empty?
Get the file cache size
Add a new cache value with the given timeout into the file cache
Key to add
Value to add
Cache timeout (default is 0 - no timeout)
'true' if the cache value was added, 'false' if the given key was not added
Try to find the cache value by the given key
Key to find
'true' and cache value if the cache value was found, 'false' if the given key was not found
Remove the cache value with the given key from the file cache
Key to remove
'true' if the cache value was removed, 'false' if the given key was not found
Insert a new cache path with the given timeout into the file cache
Path to insert
Cache prefix (default is "/")
Cache filter (default is "*.*")
Cache timeout (default is 0 - no timeout)
Cache insert handler (default is 'return cache.Add(key, value, timeout)')
'true' if the cache path was setup, 'false' if failed to setup the cache path
Try to find the cache path
Path to find
'true' if the cache path was found, 'false' if the given path was not found
Remove the cache path from the file cache
Path to remove
'true' if the cache path was removed, 'false' if the given path was not found
Clear the memory cache
Disposable lock class performs exit action on dispose operation.
Read lock class enters read lock on construction and performs exit read lock on dispose.
Write lock class enters write lock on construction and performs exit write lock on dispose.
String extensions utility class.
HTTP client is used to communicate with HTTP Web server. It allows to send GET, POST, PUT, DELETE requests and receive HTTP result.
Thread-safe.
Initialize HTTP client with a given IP address and port number
IP address
Port number
Initialize HTTP client with a given IP address and port number
IP address
Port number
Initialize HTTP client with a given DNS endpoint
DNS endpoint
Initialize HTTP client with a given IP endpoint
IP endpoint
Get the HTTP request
Get the HTTP response
Send the current HTTP request (synchronous)
Size of sent data
Send the HTTP request (synchronous)
HTTP request
Size of sent data
Send the HTTP request body (synchronous)
HTTP request body
Size of sent data
Send the HTTP request body (synchronous)
HTTP request body as a span of characters
Size of sent data
Send the HTTP request body (synchronous)
HTTP request body buffer
Size of sent data
Send the HTTP request body (synchronous)
HTTP request body buffer
HTTP request body buffer offset
HTTP request body size
Size of sent data
Send the HTTP request body (synchronous)
HTTP request body buffer as a span of bytes
Size of sent data
Send the current HTTP request (asynchronous)
'true' if the current HTTP request was successfully sent, 'false' if the session is not connected
Send the HTTP request (asynchronous)
HTTP request
'true' if the current HTTP request was successfully sent, 'false' if the session is not connected
Send the HTTP request body (asynchronous)
HTTP request body
'true' if the HTTP request body was successfully sent, 'false' if the session is not connected
Send the HTTP request body (asynchronous)
HTTP request body as a span of characters
'true' if the HTTP request body was successfully sent, 'false' if the session is not connected
Send the HTTP request body (asynchronous)
HTTP request body buffer
'true' if the HTTP request body was successfully sent, 'false' if the session is not connected
Send the HTTP request body (asynchronous)
HTTP request body buffer
HTTP request body buffer offset
HTTP request body size
'true' if the HTTP request body was successfully sent, 'false' if the session is not connected
Send the HTTP request body (asynchronous)
HTTP request body buffer as a span of bytes
'true' if the HTTP request body was successfully sent, 'false' if the session is not connected
Handle HTTP response header received notification
Notification is called when HTTP response header was received from the server.
HTTP request
Handle HTTP response received notification
Notification is called when HTTP response was received from the server.
HTTP response
Handle HTTP response error notification
Notification is called when HTTP response error was received from the server.
HTTP response
HTTP response error
HTTP extended client make requests to HTTP Web server with returning Task as a synchronization primitive.
Thread-safe.
Initialize HTTP client with a given IP address and port number
IP address
Port number
Initialize HTTP client with a given IP address and port number
IP address
Port number
Initialize HTTP client with a given DNS endpoint
DNS endpoint
Initialize HTTP client with a given IP endpoint
IP endpoint
Send current HTTP request
Current HTTP request timeout (default is 1 minute)
HTTP request Task
Send HTTP request
HTTP request
HTTP request timeout (default is 1 minute)
HTTP request Task
Send HEAD request
URL to request
Current HTTP request timeout (default is 1 minute)
HTTP request Task
Send GET request
URL to request
Current HTTP request timeout (default is 1 minute)
HTTP request Task
Send POST request
URL to request
Content
Current HTTP request timeout (default is 1 minute)
HTTP request Task
Send PUT request
URL to request
Content
Current HTTP request timeout (default is 1 minute)
HTTP request Task
Send DELETE request
URL to request
Current HTTP request timeout (default is 1 minute)
HTTP request Task
Send OPTIONS request
URL to request
Current HTTP request timeout (default is 1 minute)
HTTP request Task
Send TRACE request
URL to request
Current HTTP request timeout (default is 1 minute)
HTTP request Task
HTTP request is used to create or process parameters of HTTP protocol request(method, URL, headers, etc).
Not thread-safe.
Initialize an empty HTTP request
Initialize a new HTTP request with a given method, URL and protocol
HTTP method
Requested URL
Protocol version (default is "HTTP/1.1")
Is the HTTP request empty?
Is the HTTP request error flag set?
Get the HTTP request method
Get the HTTP request URL
Get the HTTP request protocol version
Get the HTTP request headers count
Get the HTTP request header by index
Get the HTTP request cookies count
Get the HTTP request cookie by index
Get the HTTP request body as string
Get the HTTP request body as byte array
Get the HTTP request body as byte span
Get the HTTP request body length
Get the HTTP request cache content
Get string from the current HTTP request
Clear the HTTP request cache
Set the HTTP request begin with a given method, URL and protocol
HTTP method
Requested URL
Protocol version (default is "HTTP/1.1")
Set the HTTP request header
Header key
Header value
Set the HTTP request cookie
Cookie name
Cookie value
Add the HTTP request cookie
Cookie name
Cookie value
Set the HTTP request body
Body string content (default is "")
Set the HTTP request body
Body string content as a span of characters
Set the HTTP request body
Body binary content
Set the HTTP request body
Body binary content as a span of bytes
Set the HTTP request body length
Body length
Make HEAD request
URL to request
Make GET request
URL to request
Make POST request
URL to request
String content
Content type (default is "text/plain; charset=UTF-8")
Make POST request
URL to request
String content as a span of characters
Content type (default is "text/plain; charset=UTF-8")
Make POST request
URL to request
Binary content
Content type (default is "")
Make POST request
URL to request
Binary content as a span of bytes
Content type (default is "")
Make PUT request
URL to request
String content
Content type (default is "text/plain; charset=UTF-8")
Make PUT request
URL to request
String content as a span of characters
Content type (default is "text/plain; charset=UTF-8")
Make PUT request
URL to request
Binary content
Content type (default is "")
Make PUT request
URL to request
Binary content as a span of bytes
Content type (default is "")
Make DELETE request
URL to request
Make OPTIONS request
URL to request
Make TRACE request
URL to request
HTTP response is used to create or process parameters of HTTP protocol response(status, headers, etc).
Not thread-safe.
Initialize an empty HTTP response
Initialize a new HTTP response with a given status and protocol
HTTP status
Protocol version (default is "HTTP/1.1")
Initialize a new HTTP response with a given status, status phrase and protocol
HTTP status
HTTP status phrase
Protocol version
Is the HTTP response empty?
Is the HTTP response error flag set?
Get the HTTP response status
Get the HTTP response status phrase
Get the HTTP response protocol version
Get the HTTP response headers count
Get the HTTP response header by index
Get the HTTP response body as string
Get the HTTP request body as byte array
Get the HTTP request body as read-only byte span
Get the HTTP response body length
Get the HTTP response cache content
Get string from the current HTTP response
Clear the HTTP response cache
Set the HTTP response begin with a given status and protocol
HTTP status
Protocol version (default is "HTTP/1.1")
Set the HTTP response begin with a given status, status phrase and protocol
HTTP status
HTTP status phrase
Protocol version
Set the HTTP response content type
Content extension
Set the HTTP response header
Header key
Header value
Set the HTTP response cookie
Cookie name
Cookie value
Cookie age in seconds until it expires (default is 86400)
Cookie path (default is "")
Cookie domain (default is "")
Cookie secure flag (default is true)
Cookie strict flag (default is true)
Cookie HTTP-only flag (default is true)
Set the HTTP response body
Body string content (default is "")
Set the HTTP response body
Body string content as a span of characters
Set the HTTP response body
Body binary content
Set the HTTP response body
Body binary content as a span of bytes
Set the HTTP response body length
Body length
Make OK response
OK status (default is 200 (OK))
Make ERROR response
Error content (default is "")
Error content type (default is "text/plain; charset=UTF-8")
Make ERROR response
Error status
Error content (default is "")
Error content type (default is "text/plain; charset=UTF-8")
Make HEAD response
Make GET response
String content (default is "")
Content type (default is "text/plain; charset=UTF-8")
Make GET response
String content as a span of characters
Content type (default is "text/plain; charset=UTF-8")
Make GET response
Binary content
Content type (default is "")
Make GET response
Binary content as a span of bytes
Content type (default is "")
Make OPTIONS response
Allow methods (default is "HEAD,GET,POST,PUT,DELETE,OPTIONS,TRACE")
Make TRACE response
String content
Make TRACE response
String content as a span of characters
Make TRACE response
Binary content
Make TRACE response
Binary content as a span of bytes
Make TRACE response
HTTP request
HTTPS client is used to communicate with secured HTTPS Web server. It allows to send GET, POST, PUT, DELETE requests and receive HTTP result using secure transport.
Thread-safe.
Initialize HTTPS client with a given IP address and port number
SSL context
IP address
Port number
Initialize HTTPS client with a given IP address and port number
SSL context
IP address
Port number
Initialize HTTPS client with a given DNS endpoint
SSL context
DNS endpoint
Initialize HTTPS client with a given IP endpoint
SSL context
IP endpoint
Get the HTTP request
Get the HTTP response
Send the current HTTP request (synchronous)
Size of sent data
Send the HTTP request (synchronous)
HTTP request
Size of sent data
Send the HTTP request body (synchronous)
HTTP request body
Size of sent data
Send the HTTP request body (synchronous)
HTTP request body as a span of characters
Size of sent data
Send the HTTP request body (synchronous)
HTTP request body buffer
Size of sent data
Send the HTTP request body (synchronous)
HTTP request body buffer
HTTP request body buffer offset
HTTP request body size
Size of sent data
Send the HTTP request body (synchronous)
HTTP request body buffer as a span of bytes
Size of sent data
Send the current HTTP request (asynchronous)
'true' if the current HTTP request was successfully sent, 'false' if the session is not connected
Send the HTTP request (asynchronous)
HTTP request
'true' if the current HTTP request was successfully sent, 'false' if the session is not connected
Send the HTTP request body (asynchronous)
HTTP request body
'true' if the HTTP request body was successfully sent, 'false' if the session is not connected
Send the HTTP request body (asynchronous)
HTTP request body as a span of characters
'true' if the HTTP request body was successfully sent, 'false' if the session is not connected
Send the HTTP request body (asynchronous)
HTTP request body buffer
'true' if the HTTP request body was successfully sent, 'false' if the session is not connected
Send the HTTP request body (asynchronous)
HTTP request body buffer
HTTP request body buffer offset
HTTP request body size
'true' if the HTTP request body was successfully sent, 'false' if the session is not connected
Send the HTTP request body (asynchronous)
HTTP request body buffer as a span of bytes
'true' if the HTTP request body was successfully sent, 'false' if the session is not connected
Handle HTTP response header received notification
Notification is called when HTTP response header was received from the server.
HTTP request
Handle HTTP response received notification
Notification is called when HTTP response was received from the server.
HTTP response
Handle HTTP response error notification
Notification is called when HTTP response error was received from the server.
HTTP response
HTTP response error
HTTPS extended client make requests to HTTPS Web server with returning Task as a synchronization primitive.
Thread-safe.
Initialize HTTPS client with a given IP address and port number
SSL context
IP address
Port number
Initialize HTTPS client with a given IP address and port number
SSL context
IP address
Port number
Initialize HTTPS client with a given DNS endpoint
SSL context
DNS endpoint
Initialize HTTPS client with a given IP endpoint
SSL context
IP endpoint
Send current HTTP request
Current HTTP request timeout (default is 1 minute)
HTTP request Task
Send HTTP request
HTTP request
HTTP request timeout (default is 1 minute)
HTTP request Task
Send HEAD request
URL to request
Current HTTP request timeout (default is 1 minute)
HTTP request Task
Send GET request
URL to request
Current HTTP request timeout (default is 1 minute)
HTTP request Task
Send POST request
URL to request
Content
Current HTTP request timeout (default is 1 minute)
HTTP request Task
Send PUT request
URL to request
Content
Current HTTP request timeout (default is 1 minute)
HTTP request Task
Send DELETE request
URL to request
Current HTTP request timeout (default is 1 minute)
HTTP request Task
Send OPTIONS request
URL to request
Current HTTP request timeout (default is 1 minute)
HTTP request Task
Send TRACE request
URL to request
Current HTTP request timeout (default is 1 minute)
HTTP request Task
HTTP server is used to create HTTP Web server and communicate with clients using HTTP protocol. It allows to receive GET, POST, PUT, DELETE requests and send HTTP responses.
Thread-safe.
Initialize HTTP server with a given IP address and port number
IP address
Port number
Initialize HTTP server with a given IP address and port number
IP address
Port number
Initialize HTTP server with a given DNS endpoint
DNS endpoint
Initialize HTTP server with a given IP endpoint
IP endpoint
Get the static content cache
Add static content cache
Static content path
Cache prefix (default is "/")
Cache filter (default is "*.*")
Refresh cache timeout (default is 1 hour)
Remove static content cache
Static content path
Clear static content cache
HTTP session is used to receive/send HTTP requests/responses from the connected HTTP client.
Thread-safe.
Get the static content cache
Get the HTTP request
Get the HTTP response
Send the current HTTP response (synchronous)
Size of sent data
Send the HTTP response (synchronous)
HTTP response
Size of sent data
Send the HTTP response body (synchronous)
HTTP response body
Size of sent data
Send the HTTP response body (synchronous)
HTTP response body as a span of characters
Size of sent data
Send the HTTP response body (synchronous)
HTTP response body buffer
Size of sent data
Send the HTTP response body (synchronous)
HTTP response body buffer
HTTP response body buffer offset
HTTP response body size
Size of sent data
Send the HTTP response body (synchronous)
HTTP response body buffer as a span of bytes
Size of sent data
Send the current HTTP response (asynchronous)
'true' if the current HTTP response was successfully sent, 'false' if the session is not connected
Send the HTTP response (asynchronous)
HTTP response
'true' if the current HTTP response was successfully sent, 'false' if the session is not connected
Send the HTTP response body (asynchronous)
HTTP response body
'true' if the HTTP response body was successfully sent, 'false' if the session is not connected
Send the HTTP response body (asynchronous)
HTTP response body as a span of characters
'true' if the HTTP response body was successfully sent, 'false' if the session is not connected
Send the HTTP response body (asynchronous)
HTTP response body buffer
'true' if the HTTP response body was successfully sent, 'false' if the session is not connected
Send the HTTP response body (asynchronous)
HTTP response body buffer
HTTP response body buffer offset
HTTP response body size
'true' if the HTTP response body was successfully sent, 'false' if the session is not connected
Send the HTTP response body (asynchronous)
HTTP response body buffer as a span of bytes
'true' if the HTTP response body was successfully sent, 'false' if the session is not connected
Handle HTTP request header received notification
Notification is called when HTTP request header was received from the client.
HTTP request
Handle HTTP request received notification
Notification is called when HTTP request was received from the client.
HTTP request
Handle HTTP cached request received notification
Notification is called when HTTP request was received
from the client and the corresponding cached content
was found.
Default behavior is just send cached response content
to the client.
HTTP request
Cached response content
Handle HTTP request error notification
Notification is called when HTTP request error was received from the client.
HTTP request
HTTP request error
HTTPS server is used to create secured HTTPS Web server and communicate with clients using secure HTTPS protocol. It allows to receive GET, POST, PUT, DELETE requests and send HTTP responses.
Thread-safe.
Initialize HTTPS server with a given IP address and port number
SSL context
IP address
Port number
Initialize HTTPS server with a given IP address and port number
SSL context
IP address
Port number
Initialize HTTPS server with a given DNS endpoint
SSL context
DNS endpoint
Initialize HTTPS server with a given IP endpoint
SSL context
IP endpoint
Get the static content cache
Add static content cache
Static content path
Cache prefix (default is "/")
Cache filter (default is "*.*")
Refresh cache timeout (default is 1 hour)
Remove static content cache
Static content path
Clear static content cache
HTTPS session is used to receive/send HTTP requests/responses from the connected HTTPS client.
Thread-safe.
Get the static content cache
Get the HTTP request
Get the HTTP response
Send the current HTTP response (synchronous)
Size of sent data
Send the HTTP response (synchronous)
HTTP response
Size of sent data
Send the HTTP response body (synchronous)
HTTP response body
Size of sent data
Send the HTTP response body (synchronous)
HTTP response body as a span of characters
Size of sent data
Send the HTTP response body (synchronous)
HTTP response body buffer
Size of sent data
Send the HTTP response body (synchronous)
HTTP response body buffer
HTTP response body buffer offset
HTTP response body size
Size of sent data
Send the HTTP response body (synchronous)
HTTP response body buffer as a span of bytes
Size of sent data
Send the current HTTP response (asynchronous)
'true' if the current HTTP response was successfully sent, 'false' if the session is not connected
Send the HTTP response (asynchronous)
HTTP response
'true' if the current HTTP response was successfully sent, 'false' if the session is not connected
Send the HTTP response body (asynchronous)
HTTP response body
'true' if the HTTP response body was successfully sent, 'false' if the session is not connected
Send the HTTP response body (asynchronous)
HTTP response body as a span of characters
'true' if the HTTP response body was successfully sent, 'false' if the session is not connected
Send the HTTP response body (asynchronous)
HTTP response body buffer
'true' if the HTTP response body was successfully sent, 'false' if the session is not connected
Send the HTTP response body (asynchronous)
HTTP response body buffer
HTTP response body buffer offset
HTTP response body size
'true' if the HTTP response body was successfully sent, 'false' if the session is not connected
Send the HTTP response body (asynchronous)
HTTP response body buffer as a span of bytes
'true' if the HTTP response body was successfully sent, 'false' if the session is not connected
Handle HTTP request header received notification
Notification is called when HTTP request header was received from the client.
HTTP request
Handle HTTP request received notification
Notification is called when HTTP request was received from the client.
HTTP request
Handle HTTP cached request received notification
Notification is called when HTTP request was received
from the client and the corresponding cached content
was found.
Default behavior is just send cached response content
to the client.
HTTP request
Cached response content
Handle HTTP request error notification
Notification is called when HTTP request error was received from the client.
HTTP request
HTTP request error
WebSocket interface
Handle WebSocket client connecting notification
Notification is called when WebSocket client is connecting to the server. You can handle the connection and change WebSocket upgrade HTTP request by providing your own headers.
WebSocket upgrade HTTP request
Handle WebSocket client connected notification
WebSocket upgrade HTTP response
Handle WebSocket server session validating notification
Notification is called when WebSocket client is connecting to the server. You can handle the connection and validate WebSocket upgrade HTTP request.
WebSocket upgrade HTTP request
WebSocket upgrade HTTP response
return 'true' if the WebSocket update request is valid, 'false' if the WebSocket update request is not valid
Handle WebSocket server session connected notification
WebSocket upgrade HTTP request
Handle WebSocket client disconnecting notification
Handle WebSocket client disconnected notification
Handle WebSocket received notification
Received buffer
Received buffer offset
Received buffer size
Handle WebSocket client close notification
Received buffer
Received buffer offset
Received buffer size
WebSocket close status (default is 1000)
Handle WebSocket ping notification
Received buffer
Received buffer offset
Received buffer size
Handle WebSocket pong notification
Received buffer
Received buffer offset
Received buffer size
Handle WebSocket error notification
Error message
Handle socket error notification
Socket error
Send WebSocket server upgrade response
WebSocket upgrade HTTP response
SSL client is used to read/write data from/into the connected SSL server
Thread-safe
Initialize SSL client with a given server IP address and port number
SSL context
IP address
Port number
Initialize SSL client with a given server IP address and port number
SSL context
IP address
Port number
Initialize SSL client with a given DNS endpoint
SSL context
DNS endpoint
Initialize SSL client with a given IP endpoint
SSL context
IP endpoint
Initialize SSL client with a given SSL context, endpoint, address and port
SSL context
Endpoint
Server address
Server port
Client Id
SSL server address
SSL server port
SSL context
Endpoint
Socket
Number of bytes pending sent by the client
Number of bytes sending by the client
Number of bytes sent by the client
Number of bytes received by the client
Option: dual mode socket
Specifies whether the Socket is a dual-mode socket used for both IPv4 and IPv6.
Will work only if socket is bound on IPv6 address.
Option: keep alive
This option will setup SO_KEEPALIVE if the OS support this feature
Option: TCP keep alive time
The number of seconds a TCP connection will remain alive/idle before keepalive probes are sent to the remote
Option: TCP keep alive interval
The number of seconds a TCP connection will wait for a keepalive response before sending another keepalive probe
Option: TCP keep alive retry count
The number of TCP keep alive probes that will be sent before the connection is terminated
Option: no delay
This option will enable/disable Nagle's algorithm for SSL protocol
Option: receive buffer limit
Option: receive buffer size
Option: send buffer limit
Option: send buffer size
Is the client connecting?
Is the client connected?
Is the client handshaking?
Is the client handshaked?
Create a new socket object
Method may be override if you need to prepare some specific socket object in your implementation.
Socket object
Connect the client (synchronous)
Please note that synchronous connect will not receive data automatically!
You should use Receive() or ReceiveAsync() method manually after successful connection.
'true' if the client was successfully connected, 'false' if the client failed to connect
Disconnect the client (synchronous)
'true' if the client was successfully disconnected, 'false' if the client is already disconnected
Reconnect the client (synchronous)
'true' if the client was successfully reconnected, 'false' if the client is already reconnected
Connect the client (asynchronous)
'true' if the client was successfully connected, 'false' if the client failed to connect
Disconnect the client (asynchronous)
'true' if the client was successfully disconnected, 'false' if the client is already disconnected
Reconnect the client (asynchronous)
'true' if the client was successfully reconnected, 'false' if the client is already reconnected
Send data to the server (synchronous)
Buffer to send
Size of sent data
Send data to the server (synchronous)
Buffer to send
Buffer offset
Buffer size
Size of sent data
Send data to the server (synchronous)
Buffer to send as a span of bytes
Size of sent data
Send text to the server (synchronous)
Text string to send
Size of sent text
Send text to the server (synchronous)
Text to send as a span of characters
Size of sent text
Send data to the server (asynchronous)
Buffer to send
'true' if the data was successfully sent, 'false' if the client is not connected
Send data to the server (asynchronous)
Buffer to send
Buffer offset
Buffer size
'true' if the data was successfully sent, 'false' if the client is not connected
Send data to the server (asynchronous)
Buffer to send as a span of bytes
'true' if the data was successfully sent, 'false' if the client is not connected
Send text to the server (asynchronous)
Text string to send
'true' if the text was successfully sent, 'false' if the client is not connected
Send text to the server (asynchronous)
Text to send as a span of characters
'true' if the text was successfully sent, 'false' if the client is not connected
Receive data from the server (synchronous)
Buffer to receive
Size of received data
Receive data from the server (synchronous)
Buffer to receive
Buffer offset
Buffer size
Size of received data
Receive text from the server (synchronous)
Text size to receive
Received text
Receive data from the server (asynchronous)
Try to receive new data
Try to send pending data
Clear send/receive buffers
This method is called whenever a receive or send operation is completed on a socket
This method is invoked when an asynchronous connect operation completes
This method is invoked when an asynchronous handshake operation completes
This method is invoked when an asynchronous receive operation completes
This method is invoked when an asynchronous send operation completes
Handle client connecting notification
Handle client connected notification
Handle client handshaking notification
Handle client handshaked notification
Handle client disconnecting notification
Handle client disconnected notification
Handle buffer received notification
Received buffer
Received buffer offset
Received buffer size
Notification is called when another part of buffer was received from the server
Handle buffer sent notification
Size of sent buffer
Size of pending buffer
Notification is called when another part of buffer was sent to the server.
This handler could be used to send another buffer to the server for instance when the pending size is zero.
Handle empty send buffer notification
Notification is called when the send buffer is empty and ready for a new data to send.
This handler could be used to send another buffer to the server.
Handle error notification
Socket error code
Send error notification
Socket error code
Disposed flag
Client socket disposed flag
SSL context
Initialize SSL context with default protocols
Initialize SSL context with given protocols
SSL protocols
Initialize SSL context with given protocols and validation callback
SSL protocols
SSL certificate
Initialize SSL context with given protocols and certificate
SSL protocols
SSL certificate
Initialize SSL context with given protocols, certificate and validation callback
SSL protocols
SSL certificate
SSL certificate
Initialize SSL context with given protocols and certificates collection
SSL protocols
SSL certificates collection
Initialize SSL context with given protocols, certificates collection and validation callback
SSL protocols
SSL certificates collection
SSL certificate
SSL protocols
SSL certificate
SSL certificates collection
SSL certificate validation callback
Is the client is asked for a certificate for authentication.
Note that this is only a request - if no certificate is provided, the server still accepts the connection request.
SSL server is used to connect, disconnect and manage SSL sessions
Thread-safe
Initialize SSL server with a given IP address and port number
SSL context
IP address
Port number
Initialize SSL server with a given IP address and port number
SSL context
IP address
Port number
Initialize SSL server with a given DNS endpoint
SSL context
DNS endpoint
Initialize SSL server with a given IP endpoint
SSL context
IP endpoint
Initialize SSL server with a given SSL context, endpoint, address and port
SSL context
Endpoint
Server address
Server port
Server Id
SSL server address
SSL server port
SSL context
Endpoint
Number of sessions connected to the server
Number of bytes pending sent by the server
Number of bytes sent by the server
Number of bytes received by the server
Option: acceptor backlog size
This option will set the listening socket's backlog size
Option: dual mode socket
Specifies whether the Socket is a dual-mode socket used for both IPv4 and IPv6.
Will work only if socket is bound on IPv6 address.
Option: keep alive
This option will setup SO_KEEPALIVE if the OS support this feature
Option: TCP keep alive time
The number of seconds a TCP connection will remain alive/idle before keepalive probes are sent to the remote
Option: TCP keep alive interval
The number of seconds a TCP connection will wait for a keepalive response before sending another keepalive probe
Option: TCP keep alive retry count
The number of TCP keep alive probes that will be sent before the connection is terminated
Option: no delay
This option will enable/disable Nagle's algorithm for SSL protocol
Option: reuse address
This option will enable/disable SO_REUSEADDR if the OS support this feature
Option: enables a socket to be bound for exclusive access
This option will enable/disable SO_EXCLUSIVEADDRUSE if the OS support this feature
Option: receive buffer size
Option: send buffer size
Is the server started?
Is the server accepting new clients?
Create a new socket object
Method may be override if you need to prepare some specific socket object in your implementation.
Socket object
Start the server
'true' if the server was successfully started, 'false' if the server failed to start
Stop the server
'true' if the server was successfully stopped, 'false' if the server is already stopped
Restart the server
'true' if the server was successfully restarted, 'false' if the server failed to restart
Start accept a new client connection
Process accepted client connection
This method is the callback method associated with Socket.AcceptAsync()
operations and is invoked when an accept operation is complete
Create SSL session factory method
SSL session
Server sessions
Disconnect all connected sessions
'true' if all sessions were successfully disconnected, 'false' if the server is not started
Find a session with a given Id
Session Id
Session with a given Id or null if the session it not connected
Register a new session
Session to register
Unregister session by Id
Session Id
Multicast data to all connected sessions
Buffer to multicast
'true' if the data was successfully multicasted, 'false' if the data was not multicasted
Multicast data to all connected clients
Buffer to multicast
Buffer offset
Buffer size
'true' if the data was successfully multicasted, 'false' if the data was not multicasted
Multicast data to all connected clients
Buffer to send as a span of bytes
'true' if the data was successfully multicasted, 'false' if the data was not multicasted
Multicast text to all connected clients
Text string to multicast
'true' if the text was successfully multicasted, 'false' if the text was not multicasted
Multicast text to all connected clients
Text to multicast as a span of characters
'true' if the text was successfully multicasted, 'false' if the text was not multicasted
Handle server starting notification
Handle server started notification
Handle server stopping notification
Handle server stopped notification
Handle session connecting notification
Connecting session
Handle session connected notification
Connected session
Handle session handshaking notification
Handshaking session
Handle session handshaked notification
Handshaked session
Handle session disconnecting notification
Disconnecting session
Handle session disconnected notification
Disconnected session
Handle error notification
Socket error code
Send error notification
Socket error code
Disposed flag
Acceptor socket disposed flag
SSL session is used to read and write data from the connected SSL client
Thread-safe
Initialize the session with a given server
SSL server
Session Id
Server
Socket
Number of bytes pending sent by the session
Number of bytes sending by the session
Number of bytes sent by the session
Number of bytes received by the session
Option: receive buffer limit
Option: receive buffer size
Option: send buffer limit
Option: send buffer size
Is the session connected?
Is the session handshaked?
Connect the session
Session socket
Disconnect the session
'true' if the section was successfully disconnected, 'false' if the section is already disconnected
Send data to the client (synchronous)
Buffer to send
Size of sent data
Send data to the client (synchronous)
Buffer to send
Buffer offset
Buffer size
Size of sent data
Send data to the client (synchronous)
Buffer to send as a span of bytes
Size of sent data
Send text to the client (synchronous)
Text string to send
Size of sent text
Send text to the client (synchronous)
Text to send as a span of characters
Size of sent text
Send data to the client (asynchronous)
Buffer to send
'true' if the data was successfully sent, 'false' if the session is not connected
Send data to the client (asynchronous)
Buffer to send
Buffer offset
Buffer size
'true' if the data was successfully sent, 'false' if the session is not connected
Send data to the client (asynchronous)
Buffer to send as a span of bytes
'true' if the data was successfully sent, 'false' if the session is not connected
Send text to the client (asynchronous)
Text string to send
'true' if the text was successfully sent, 'false' if the session is not connected
Send text to the client (asynchronous)
Text to send as a span of characters
'true' if the text was successfully sent, 'false' if the session is not connected
Receive data from the client (synchronous)
Buffer to receive
Size of received data
Receive data from the client (synchronous)
Buffer to receive
Buffer offset
Buffer size
Size of received data
Receive text from the client (synchronous)
Text size to receive
Received text
Receive data from the client (asynchronous)
Try to receive new data
Try to send pending data
Clear send/receive buffers
This method is invoked when an asynchronous handshake operation completes
This method is invoked when an asynchronous receive operation completes
This method is invoked when an asynchronous send operation completes
Handle client connecting notification
Handle client connected notification
Handle client handshaking notification
Handle client handshaked notification
Handle client disconnecting notification
Handle client disconnected notification
Handle buffer received notification
Received buffer
Received buffer offset
Received buffer size
Notification is called when another part of buffer was received from the client
Handle buffer sent notification
Size of sent buffer
Size of pending buffer
Notification is called when another part of buffer was sent to the client.
This handler could be used to send another buffer to the client for instance when the pending size is zero.
Handle empty send buffer notification
Notification is called when the send buffer is empty and ready for a new data to send.
This handler could be used to send another buffer to the client.
Handle error notification
Socket error code
Send error notification
Socket error code
Disposed flag
Session socket disposed flag
TCP client is used to read/write data from/into the connected TCP server
Thread-safe
Initialize TCP client with a given server IP address and port number
IP address
Port number
Initialize TCP client with a given server IP address and port number
IP address
Port number
Initialize TCP client with a given DNS endpoint
DNS endpoint
Initialize TCP client with a given IP endpoint
IP endpoint
Initialize TCP client with a given endpoint, address and port
Endpoint
Server address
Server port
Client Id
TCP server address
TCP server port
Endpoint
Socket
Number of bytes pending sent by the client
Number of bytes sending by the client
Number of bytes sent by the client
Number of bytes received by the client
Option: dual mode socket
Specifies whether the Socket is a dual-mode socket used for both IPv4 and IPv6.
Will work only if socket is bound on IPv6 address.
Option: keep alive
This option will setup SO_KEEPALIVE if the OS support this feature
Option: TCP keep alive time
The number of seconds a TCP connection will remain alive/idle before keepalive probes are sent to the remote
Option: TCP keep alive interval
The number of seconds a TCP connection will wait for a keepalive response before sending another keepalive probe
Option: TCP keep alive retry count
The number of TCP keep alive probes that will be sent before the connection is terminated
Option: no delay
This option will enable/disable Nagle's algorithm for TCP protocol
Option: receive buffer limit
Option: receive buffer size
Option: send buffer limit
Option: send buffer size
Is the client connecting?
Is the client connected?
Create a new socket object
Method may be override if you need to prepare some specific socket object in your implementation.
Socket object
Connect the client (synchronous)
Please note that synchronous connect will not receive data automatically!
You should use Receive() or ReceiveAsync() method manually after successful connection.
'true' if the client was successfully connected, 'false' if the client failed to connect
Disconnect the client (synchronous)
'true' if the client was successfully disconnected, 'false' if the client is already disconnected
Reconnect the client (synchronous)
'true' if the client was successfully reconnected, 'false' if the client is already reconnected
Connect the client (asynchronous)
'true' if the client was successfully connected, 'false' if the client failed to connect
Disconnect the client (asynchronous)
'true' if the client was successfully disconnected, 'false' if the client is already disconnected
Reconnect the client (asynchronous)
'true' if the client was successfully reconnected, 'false' if the client is already reconnected
Send data to the server (synchronous)
Buffer to send
Size of sent data
Send data to the server (synchronous)
Buffer to send
Buffer offset
Buffer size
Size of sent data
Send data to the server (synchronous)
Buffer to send as a span of bytes
Size of sent data
Send text to the server (synchronous)
Text string to send
Size of sent text
Send text to the server (synchronous)
Text to send as a span of characters
Size of sent text
Send data to the server (asynchronous)
Buffer to send
'true' if the data was successfully sent, 'false' if the client is not connected
Send data to the server (asynchronous)
Buffer to send
Buffer offset
Buffer size
'true' if the data was successfully sent, 'false' if the client is not connected
Send data to the server (asynchronous)
Buffer to send as a span of bytes
'true' if the data was successfully sent, 'false' if the client is not connected
Send text to the server (asynchronous)
Text string to send
'true' if the text was successfully sent, 'false' if the client is not connected
Send text to the server (asynchronous)
Text to send as a span of characters
'true' if the text was successfully sent, 'false' if the client is not connected
Receive data from the server (synchronous)
Buffer to receive
Size of received data
Receive data from the server (synchronous)
Buffer to receive
Buffer offset
Buffer size
Size of received data
Receive text from the server (synchronous)
Text size to receive
Received text
Receive data from the server (asynchronous)
Try to receive new data
Try to send pending data
Clear send/receive buffers
This method is called whenever a receive or send operation is completed on a socket
This method is invoked when an asynchronous connect operation completes
This method is invoked when an asynchronous receive operation completes
This method is invoked when an asynchronous send operation completes
Handle client connecting notification
Handle client connected notification
Handle client disconnecting notification
Handle client disconnected notification
Handle buffer received notification
Received buffer
Received buffer offset
Received buffer size
Notification is called when another part of buffer was received from the server
Handle buffer sent notification
Size of sent buffer
Size of pending buffer
Notification is called when another part of buffer was sent to the server.
This handler could be used to send another buffer to the server for instance when the pending size is zero.
Handle empty send buffer notification
Notification is called when the send buffer is empty and ready for a new data to send.
This handler could be used to send another buffer to the server.
Handle error notification
Socket error code
Send error notification
Socket error code
Disposed flag
Client socket disposed flag
TCP server is used to connect, disconnect and manage TCP sessions
Thread-safe
Initialize TCP server with a given IP address and port number
IP address
Port number
Initialize TCP server with a given IP address and port number
IP address
Port number
Initialize TCP server with a given DNS endpoint
DNS endpoint
Initialize TCP server with a given IP endpoint
IP endpoint
Initialize TCP server with a given endpoint, address and port
Endpoint
Server address
Server port
Server Id
TCP server address
TCP server port
Endpoint
Number of sessions connected to the server
Number of bytes pending sent by the server
Number of bytes sent by the server
Number of bytes received by the server
Option: acceptor backlog size
This option will set the listening socket's backlog size
Option: dual mode socket
Specifies whether the Socket is a dual-mode socket used for both IPv4 and IPv6.
Will work only if socket is bound on IPv6 address.
Option: keep alive
This option will setup SO_KEEPALIVE if the OS support this feature
Option: TCP keep alive time
The number of seconds a TCP connection will remain alive/idle before keepalive probes are sent to the remote
Option: TCP keep alive interval
The number of seconds a TCP connection will wait for a keepalive response before sending another keepalive probe
Option: TCP keep alive retry count
The number of TCP keep alive probes that will be sent before the connection is terminated
Option: no delay
This option will enable/disable Nagle's algorithm for TCP protocol
Option: reuse address
This option will enable/disable SO_REUSEADDR if the OS support this feature
Option: enables a socket to be bound for exclusive access
This option will enable/disable SO_EXCLUSIVEADDRUSE if the OS support this feature
Option: receive buffer size
Option: send buffer size
Is the server started?
Is the server accepting new clients?
Create a new socket object
Method may be override if you need to prepare some specific socket object in your implementation.
Socket object
Start the server
'true' if the server was successfully started, 'false' if the server failed to start
Stop the server
'true' if the server was successfully stopped, 'false' if the server is already stopped
Restart the server
'true' if the server was successfully restarted, 'false' if the server failed to restart
Start accept a new client connection
Process accepted client connection
This method is the callback method associated with Socket.AcceptAsync()
operations and is invoked when an accept operation is complete
Create TCP session factory method
TCP session
Server sessions
Disconnect all connected sessions
'true' if all sessions were successfully disconnected, 'false' if the server is not started
Find a session with a given Id
Session Id
Session with a given Id or null if the session it not connected
Register a new session
Session to register
Unregister session by Id
Session Id
Multicast data to all connected sessions
Buffer to multicast
'true' if the data was successfully multicasted, 'false' if the data was not multicasted
Multicast data to all connected clients
Buffer to multicast
Buffer offset
Buffer size
'true' if the data was successfully multicasted, 'false' if the data was not multicasted
Multicast data to all connected clients
Buffer to send as a span of bytes
'true' if the data was successfully multicasted, 'false' if the data was not multicasted
Multicast text to all connected clients
Text string to multicast
'true' if the text was successfully multicasted, 'false' if the text was not multicasted
Multicast text to all connected clients
Text to multicast as a span of characters
'true' if the text was successfully multicasted, 'false' if the text was not multicasted
Handle server starting notification
Handle server started notification
Handle server stopping notification
Handle server stopped notification
Handle session connecting notification
Connecting session
Handle session connected notification
Connected session
Handle session disconnecting notification
Disconnecting session
Handle session disconnected notification
Disconnected session
Handle error notification
Socket error code
Send error notification
Socket error code
Disposed flag
Acceptor socket disposed flag
TCP session is used to read and write data from the connected TCP client
Thread-safe
Initialize the session with a given server
TCP server
Session Id
Server
Socket
Number of bytes pending sent by the session
Number of bytes sending by the session
Number of bytes sent by the session
Number of bytes received by the session
Option: receive buffer limit
Option: receive buffer size
Option: send buffer limit
Option: send buffer size
Is the session connected?
Connect the session
Session socket
Disconnect the session
'true' if the section was successfully disconnected, 'false' if the section is already disconnected
Send data to the client (synchronous)
Buffer to send
Size of sent data
Send data to the client (synchronous)
Buffer to send
Buffer offset
Buffer size
Size of sent data
Send data to the client (synchronous)
Buffer to send as a span of bytes
Size of sent data
Send text to the client (synchronous)
Text string to send
Size of sent data
Send text to the client (synchronous)
Text to send as a span of characters
Size of sent data
Send data to the client (asynchronous)
Buffer to send
'true' if the data was successfully sent, 'false' if the session is not connected
Send data to the client (asynchronous)
Buffer to send
Buffer offset
Buffer size
'true' if the data was successfully sent, 'false' if the session is not connected
Send data to the client (asynchronous)
Buffer to send as a span of bytes
'true' if the data was successfully sent, 'false' if the session is not connected
Send text to the client (asynchronous)
Text string to send
'true' if the text was successfully sent, 'false' if the session is not connected
Send text to the client (asynchronous)
Text to send as a span of characters
'true' if the text was successfully sent, 'false' if the session is not connected
Receive data from the client (synchronous)
Buffer to receive
Size of received data
Receive data from the client (synchronous)
Buffer to receive
Buffer offset
Buffer size
Size of received data
Receive text from the client (synchronous)
Text size to receive
Received text
Receive data from the client (asynchronous)
Try to receive new data
Try to send pending data
Clear send/receive buffers
This method is called whenever a receive or send operation is completed on a socket
This method is invoked when an asynchronous receive operation completes
This method is invoked when an asynchronous send operation completes
Handle client connecting notification
Handle client connected notification
Handle client disconnecting notification
Handle client disconnected notification
Handle buffer received notification
Received buffer
Received buffer offset
Received buffer size
Notification is called when another part of buffer was received from the client
Handle buffer sent notification
Size of sent buffer
Size of pending buffer
Notification is called when another part of buffer was sent to the client.
This handler could be used to send another buffer to the client for instance when the pending size is zero.
Handle empty send buffer notification
Notification is called when the send buffer is empty and ready for a new data to send.
This handler could be used to send another buffer to the client.
Handle error notification
Socket error code
Send error notification
Socket error code
Disposed flag
Session socket disposed flag
UDP client is used to read/write data from/into the connected UDP server
Thread-safe
Initialize UDP client with a given server IP address and port number
IP address
Port number
Initialize UDP client with a given server IP address and port number
IP address
Port number
Initialize UDP client with a given DNS endpoint
DNS endpoint
Initialize UDP client with a given IP endpoint
IP endpoint
Initialize UDP client with a given endpoint, address and port
Endpoint
Server address
Server port
Client Id
UDP server address
UDP server port
Endpoint
Socket
Number of bytes pending sent by the client
Number of bytes sending by the client
Number of bytes sent by the client
Number of bytes received by the client
Number of datagrams sent by the client
Number of datagrams received by the client
Option: dual mode socket
Specifies whether the Socket is a dual-mode socket used for both IPv4 and IPv6.
Will work only if socket is bound on IPv6 address.
Option: reuse address
This option will enable/disable SO_REUSEADDR if the OS support this feature
Option: enables a socket to be bound for exclusive access
This option will enable/disable SO_EXCLUSIVEADDRUSE if the OS support this feature
Option: bind the socket to the multicast UDP server
Option: receive buffer limit
Option: receive buffer size
Option: send buffer limit
Option: send buffer size
Is the client connected?
Create a new socket object
Method may be override if you need to prepare some specific socket object in your implementation.
Socket object
Connect the client (synchronous)
'true' if the client was successfully connected, 'false' if the client failed to connect
Disconnect the client (synchronous)
'true' if the client was successfully disconnected, 'false' if the client is already disconnected
Reconnect the client (synchronous)
'true' if the client was successfully reconnected, 'false' if the client is already reconnected
Setup multicast: bind the socket to the multicast UDP server
Enable/disable multicast
Join multicast group with a given IP address (synchronous)
IP address
Join multicast group with a given IP address (synchronous)
IP address
Leave multicast group with a given IP address (synchronous)
IP address
Leave multicast group with a given IP address (synchronous)
IP address
Send datagram to the connected server (synchronous)
Datagram buffer to send
Size of sent datagram
Send datagram to the connected server (synchronous)
Datagram buffer to send
Datagram buffer offset
Datagram buffer size
Size of sent datagram
Send datagram to the connected server (synchronous)
Datagram buffer to send as a span of bytes
Size of sent datagram
Send text to the connected server (synchronous)
Text string to send
Size of sent datagram
Send text to the connected server (synchronous)
Text to send as a span of characters
Size of sent datagram
Send datagram to the given endpoint (synchronous)
Endpoint to send
Datagram buffer to send
Size of sent datagram
Send datagram to the given endpoint (synchronous)
Endpoint to send
Datagram buffer to send
Datagram buffer offset
Datagram buffer size
Size of sent datagram
Send datagram to the given endpoint (synchronous)
Endpoint to send
Datagram buffer to send as a span of bytes
Size of sent datagram
Send text to the given endpoint (synchronous)
Endpoint to send
Text string to send
Size of sent datagram
Send text to the given endpoint (synchronous)
Endpoint to send
Text to send as a span of characters
Size of sent datagram
Send datagram to the connected server (asynchronous)
Datagram buffer to send
'true' if the datagram was successfully sent, 'false' if the datagram was not sent
Send datagram to the connected server (asynchronous)
Datagram buffer to send
Datagram buffer offset
Datagram buffer size
'true' if the datagram was successfully sent, 'false' if the datagram was not sent
Send datagram to the connected server (asynchronous)
Datagram buffer to send as a span of bytes
'true' if the datagram was successfully sent, 'false' if the datagram was not sent
Send text to the connected server (asynchronous)
Text string to send
'true' if the text was successfully sent, 'false' if the text was not sent
Send text to the connected server (asynchronous)
Text to send as a span of characters
'true' if the text was successfully sent, 'false' if the text was not sent
Send datagram to the given endpoint (asynchronous)
Endpoint to send
Datagram buffer to send
'true' if the datagram was successfully sent, 'false' if the datagram was not sent
Send datagram to the given endpoint (asynchronous)
Endpoint to send
Datagram buffer to send
Datagram buffer offset
Datagram buffer size
'true' if the datagram was successfully sent, 'false' if the datagram was not sent
Send datagram to the given endpoint (asynchronous)
Endpoint to send
Datagram buffer to send as a span of bytes
'true' if the datagram was successfully sent, 'false' if the datagram was not sent
Send text to the given endpoint (asynchronous)
Endpoint to send
Text string to send
'true' if the text was successfully sent, 'false' if the text was not sent
Send text to the given endpoint (asynchronous)
Endpoint to send
Text to send as a span of characters
'true' if the text was successfully sent, 'false' if the text was not sent
Receive a new datagram from the given endpoint (synchronous)
Endpoint to receive from
Datagram buffer to receive
Size of received datagram
Receive a new datagram from the given endpoint (synchronous)
Endpoint to receive from
Datagram buffer to receive
Datagram buffer offset
Datagram buffer size
Size of received datagram
Receive text from the given endpoint (synchronous)
Endpoint to receive from
Text size to receive
Received text
Receive datagram from the server (asynchronous)
Try to receive new data
Try to send pending data
Clear send/receive buffers
This method is called whenever a receive or send operation is completed on a socket
This method is invoked when an asynchronous receive from operation completes
This method is invoked when an asynchronous send to operation completes
Handle client connecting notification
Handle client connected notification
Handle client disconnecting notification
Handle client disconnected notification
Handle client joined multicast group notification
IP address
Handle client left multicast group notification
IP address
Handle datagram received notification
Received endpoint
Received datagram buffer
Received datagram buffer offset
Received datagram buffer size
Notification is called when another datagram was received from some endpoint
Handle datagram sent notification
Endpoint of sent datagram
Size of sent datagram buffer
Notification is called when a datagram was sent to the server.
This handler could be used to send another datagram to the server for instance when the pending size is zero.
Handle error notification
Socket error code
Send error notification
Socket error code
Disposed flag
Client socket disposed flag
UDP server is used to send or multicast datagrams to UDP endpoints
Thread-safe
Initialize UDP server with a given IP address and port number
IP address
Port number
Initialize UDP server with a given IP address and port number
IP address
Port number
Initialize UDP server with a given DNS endpoint
DNS endpoint
Initialize UDP server with a given IP endpoint
IP endpoint
Initialize UDP server with a given endpoint, address and port
Endpoint
Server address
Server port
Server Id
UDP server address
UDP server port
Endpoint
Multicast endpoint
Socket
Number of bytes pending sent by the server
Number of bytes sending by the server
Number of bytes sent by the server
Number of bytes received by the server
Number of datagrams sent by the server
Number of datagrams received by the server
Option: dual mode socket
Specifies whether the Socket is a dual-mode socket used for both IPv4 and IPv6.
Will work only if socket is bound on IPv6 address.
Option: reuse address
This option will enable/disable SO_REUSEADDR if the OS support this feature
Option: enables a socket to be bound for exclusive access
This option will enable/disable SO_EXCLUSIVEADDRUSE if the OS support this feature
Option: receive buffer limit
Option: receive buffer size
Option: send buffer limit
Option: send buffer size
Is the server started?
Create a new socket object
Method may be override if you need to prepare some specific socket object in your implementation.
Socket object
Start the server (synchronous)
'true' if the server was successfully started, 'false' if the server failed to start
Start the server with a given multicast IP address and port number (synchronous)
Multicast IP address
Multicast port number
'true' if the server was successfully started, 'false' if the server failed to start
Start the server with a given multicast IP address and port number (synchronous)
Multicast IP address
Multicast port number
'true' if the server was successfully started, 'false' if the server failed to start
Start the server with a given multicast endpoint (synchronous)
Multicast endpoint
'true' if the server was successfully started, 'false' if the server failed to start
Stop the server (synchronous)
'true' if the server was successfully stopped, 'false' if the server is already stopped
Restart the server (synchronous)
'true' if the server was successfully restarted, 'false' if the server failed to restart
Multicast datagram to the prepared mulicast endpoint (synchronous)
Datagram buffer to multicast
Size of multicasted datagram
Multicast datagram to the prepared mulicast endpoint (synchronous)
Datagram buffer to multicast
Datagram buffer offset
Datagram buffer size
Size of multicasted datagram
Multicast datagram to the prepared mulicast endpoint (synchronous)
Datagram buffer to multicast as a span of bytes
Size of multicasted datagram
Multicast text to the prepared mulicast endpoint (synchronous)
Text string to multicast
Size of multicasted datagram
Multicast text to the prepared mulicast endpoint (synchronous)
Text to multicast as a span of characters
Size of multicasted datagram
Multicast datagram to the prepared mulicast endpoint (asynchronous)
Datagram buffer to multicast
'true' if the datagram was successfully multicasted, 'false' if the datagram was not multicasted
Multicast datagram to the prepared mulicast endpoint (asynchronous)
Datagram buffer to multicast
Datagram buffer offset
Datagram buffer size
'true' if the datagram was successfully multicasted, 'false' if the datagram was not multicasted
Multicast datagram to the prepared mulicast endpoint (asynchronous)
Datagram buffer to multicast as a span of bytes
'true' if the datagram was successfully multicasted, 'false' if the datagram was not multicasted
Multicast text to the prepared mulicast endpoint (asynchronous)
Text string to multicast
'true' if the text was successfully multicasted, 'false' if the text was not multicasted
Multicast text to the prepared mulicast endpoint (asynchronous)
Text to multicast as a span of characters
'true' if the text was successfully multicasted, 'false' if the text was not multicasted
Send datagram to the connected server (synchronous)
Datagram buffer to send
Size of sent datagram
Send datagram to the connected server (synchronous)
Datagram buffer to send
Datagram buffer offset
Datagram buffer size
Size of sent datagram
Send datagram to the connected server (synchronous)
Datagram buffer to send as a span of bytes
Size of sent datagram
Send text to the connected server (synchronous)
Text string to send
Size of sent datagram
Send text to the connected server (synchronous)
Text to send as a span of characters
Size of sent datagram
Send datagram to the given endpoint (synchronous)
Endpoint to send
Datagram buffer to send
Size of sent datagram
Send datagram to the given endpoint (synchronous)
Endpoint to send
Datagram buffer to send
Datagram buffer offset
Datagram buffer size
Size of sent datagram
Send datagram to the given endpoint (synchronous)
Endpoint to send
Datagram buffer to send as a span of bytes
Size of sent datagram
Send text to the given endpoint (synchronous)
Endpoint to send
Text string to send
Size of sent datagram
Send text to the given endpoint (synchronous)
Endpoint to send
Text to send as a span of characters
Size of sent datagram
Send datagram to the given endpoint (asynchronous)
Endpoint to send
Datagram buffer to send
'true' if the datagram was successfully sent, 'false' if the datagram was not sent
Send datagram to the given endpoint (asynchronous)
Endpoint to send
Datagram buffer to send
Datagram buffer offset
Datagram buffer size
'true' if the datagram was successfully sent, 'false' if the datagram was not sent
Send datagram to the given endpoint (asynchronous)
Endpoint to send
Datagram buffer to send as a span of bytes
'true' if the datagram was successfully sent, 'false' if the datagram was not sent
Send text to the given endpoint (asynchronous)
Endpoint to send
Text string to send
'true' if the text was successfully sent, 'false' if the text was not sent
Send text to the given endpoint (asynchronous)
Endpoint to send
Text to send as a span of characters
'true' if the text was successfully sent, 'false' if the text was not sent
Receive a new datagram from the given endpoint (synchronous)
Endpoint to receive from
Datagram buffer to receive
Size of received datagram
Receive a new datagram from the given endpoint (synchronous)
Endpoint to receive from
Datagram buffer to receive
Datagram buffer offset
Datagram buffer size
Size of received datagram
Receive text from the given endpoint (synchronous)
Endpoint to receive from
Text size to receive
Received text
Receive datagram from the client (asynchronous)
Try to receive new data
Try to send pending data
Clear send/receive buffers
This method is called whenever a receive or send operation is completed on a socket
This method is invoked when an asynchronous receive from operation completes
This method is invoked when an asynchronous send to operation completes
Handle server starting notification
Handle server started notification
Handle server stopping notification
Handle server stopped notification
Handle datagram received notification
Received endpoint
Received datagram buffer
Received datagram buffer offset
Received datagram buffer size
Notification is called when another datagram was received from some endpoint
Handle datagram sent notification
Endpoint of sent datagram
Size of sent datagram buffer
Notification is called when a datagram was sent to the client.
This handler could be used to send another datagram to the client for instance when the pending size is zero.
Handle error notification
Socket error code
Send error notification
Socket error code
Disposed flag
Server socket disposed flag
Unix Domain Socket client is used to read/write data from/into the connected Unix Domain Socket server
Thread-safe
Initialize Unix Domain Socket client with a given socket path
Socket path
Initialize Unix Domain Socket client with a given Unix Domain Socket endpoint
Unix Domain Socket endpoint
Client Id
Endpoint
Socket
Number of bytes pending sent by the client
Number of bytes sending by the client
Number of bytes sent by the client
Number of bytes received by the client
Option: receive buffer limit
Option: receive buffer size
Option: send buffer limit
Option: send buffer size
Is the client connecting?
Is the client connected?
Create a new socket object
Method may be override if you need to prepare some specific socket object in your implementation.
Socket object
Connect the client (synchronous)
Please note that synchronous connect will not receive data automatically!
You should use Receive() or ReceiveAsync() method manually after successful connection.
'true' if the client was successfully connected, 'false' if the client failed to connect
Disconnect the client (synchronous)
'true' if the client was successfully disconnected, 'false' if the client is already disconnected
Reconnect the client (synchronous)
'true' if the client was successfully reconnected, 'false' if the client is already reconnected
Connect the client (asynchronous)
'true' if the client was successfully connected, 'false' if the client failed to connect
Disconnect the client (asynchronous)
'true' if the client was successfully disconnected, 'false' if the client is already disconnected
Reconnect the client (asynchronous)
'true' if the client was successfully reconnected, 'false' if the client is already reconnected
Send data to the server (synchronous)
Buffer to send
Size of sent data
Send data to the server (synchronous)
Buffer to send
Buffer offset
Buffer size
Size of sent data
Send data to the server (synchronous)
Buffer to send as a span of bytes
Size of sent data
Send text to the server (synchronous)
Text string to send
Size of sent text
Send text to the server (synchronous)
Text to send as a span of characters
Size of sent text
Send data to the server (asynchronous)
Buffer to send
'true' if the data was successfully sent, 'false' if the client is not connected
Send data to the server (asynchronous)
Buffer to send
Buffer offset
Buffer size
'true' if the data was successfully sent, 'false' if the client is not connected
Send data to the server (asynchronous)
Buffer to send as a span of bytes
'true' if the data was successfully sent, 'false' if the client is not connected
Send text to the server (asynchronous)
Text string to send
'true' if the text was successfully sent, 'false' if the client is not connected
Send text to the server (asynchronous)
Text to send as a span of characters
'true' if the text was successfully sent, 'false' if the client is not connected
Receive data from the server (synchronous)
Buffer to receive
Size of received data
Receive data from the server (synchronous)
Buffer to receive
Buffer offset
Buffer size
Size of received data
Receive text from the server (synchronous)
Text size to receive
Received text
Receive data from the server (asynchronous)
Try to receive new data
Try to send pending data
Clear send/receive buffers
This method is called whenever a receive or send operation is completed on a socket
This method is invoked when an asynchronous connect operation completes
This method is invoked when an asynchronous receive operation completes
This method is invoked when an asynchronous send operation completes
Handle client connecting notification
Handle client connected notification
Handle client disconnecting notification
Handle client disconnected notification
Handle buffer received notification
Received buffer
Received buffer offset
Received buffer size
Notification is called when another part of buffer was received from the server
Handle buffer sent notification
Size of sent buffer
Size of pending buffer
Notification is called when another part of buffer was sent to the server.
This handler could be used to send another buffer to the server for instance when the pending size is zero.
Handle empty send buffer notification
Notification is called when the send buffer is empty and ready for a new data to send.
This handler could be used to send another buffer to the server.
Handle error notification
Socket error code
Send error notification
Socket error code
Disposed flag
Client socket disposed flag
Unix Domain Socket server is used to connect, disconnect and manage Unix Domain Socket sessions
Thread-safe
Initialize Unix Domain Socket server with a given socket path
Socket path
Initialize Unix Domain Socket server with a given Unix Domain Socket endpoint
Unix Domain Socket endpoint
Server Id
Endpoint
Number of sessions connected to the server
Number of bytes pending sent by the server
Number of bytes sent by the server
Number of bytes received by the server
Option: acceptor backlog size
This option will set the listening socket's backlog size
Option: receive buffer size
Option: send buffer size
Is the server started?
Is the server accepting new clients?
Create a new socket object
Method may be override if you need to prepare some specific socket object in your implementation.
Socket object
Start the server
'true' if the server was successfully started, 'false' if the server failed to start
Stop the server
'true' if the server was successfully stopped, 'false' if the server is already stopped
Restart the server
'true' if the server was successfully restarted, 'false' if the server failed to restart
Start accept a new client connection
Process accepted client connection
This method is the callback method associated with Socket.AcceptAsync()
operations and is invoked when an accept operation is complete
Create Unix Domain Socket session factory method
Unix Domain Socket session
Server sessions
Disconnect all connected sessions
'true' if all sessions were successfully disconnected, 'false' if the server is not started
Find a session with a given Id
Session Id
Session with a given Id or null if the session it not connected
Register a new session
Session to register
Unregister session by Id
Session Id
Multicast data to all connected sessions
Buffer to multicast
'true' if the data was successfully multicasted, 'false' if the data was not multicasted
Multicast data to all connected clients
Buffer to multicast
Buffer offset
Buffer size
'true' if the data was successfully multicasted, 'false' if the data was not multicasted
Multicast data to all connected clients
Buffer to send as a span of bytes
'true' if the data was successfully multicasted, 'false' if the data was not multicasted
Multicast text to all connected clients
Text string to multicast
'true' if the text was successfully multicasted, 'false' if the text was not multicasted
Multicast text to all connected clients
Text to multicast as a span of characters
'true' if the text was successfully multicasted, 'false' if the text was not multicasted
Handle server starting notification
Handle server started notification
Handle server stopping notification
Handle server stopped notification
Handle session connecting notification
Connecting session
Handle session connected notification
Connected session
Handle session disconnecting notification
Disconnecting session
Handle session disconnected notification
Disconnected session
Handle error notification
Socket error code
Send error notification
Socket error code
Disposed flag
Acceptor socket disposed flag
Unix Domain Socket session is used to read and write data from the connected Unix Domain Socket client
Thread-safe
Initialize the session with a given server
Unix Domain Socket server
Session Id
Server
Socket
Number of bytes pending sent by the session
Number of bytes sending by the session
Number of bytes sent by the session
Number of bytes received by the session
Option: receive buffer limit
Option: receive buffer size
Option: send buffer limit
Option: send buffer size
Is the session connected?
Connect the session
Session socket
Disconnect the session
'true' if the section was successfully disconnected, 'false' if the section is already disconnected
Send data to the client (synchronous)
Buffer to send
Size of sent data
Send data to the client (synchronous)
Buffer to send
Buffer offset
Buffer size
Size of sent data
Send data to the client (synchronous)
Buffer to send as a span of bytes
Size of sent data
Send text to the client (synchronous)
Text string to send
Size of sent data
Send data to the client (asynchronous)
Buffer to send
'true' if the data was successfully sent, 'false' if the session is not connected
Send data to the client (asynchronous)
Buffer to send
Buffer offset
Buffer size
'true' if the data was successfully sent, 'false' if the session is not connected
Send data to the client (asynchronous)
Buffer to send as a span of bytes
'true' if the data was successfully sent, 'false' if the session is not connected
Send text to the client (asynchronous)
Text string to send
'true' if the text was successfully sent, 'false' if the session is not connected
Send text to the client (asynchronous)
Text to send as a span of characters
'true' if the text was successfully sent, 'false' if the session is not connected
Receive data from the client (synchronous)
Buffer to receive
Size of received data
Receive data from the client (synchronous)
Buffer to receive
Buffer offset
Buffer size
Size of received data
Receive text from the client (synchronous)
Text size to receive
Received text
Receive data from the client (asynchronous)
Try to receive new data
Try to send pending data
Clear send/receive buffers
This method is called whenever a receive or send operation is completed on a socket
This method is invoked when an asynchronous receive operation completes
This method is invoked when an asynchronous send operation completes
Handle client connecting notification
Handle client connected notification
Handle client disconnecting notification
Handle client disconnected notification
Handle buffer received notification
Received buffer
Received buffer offset
Received buffer size
Notification is called when another part of buffer was received from the client
Handle buffer sent notification
Size of sent buffer
Size of pending buffer
Notification is called when another part of buffer was sent to the client.
This handler could be used to send another buffer to the client for instance when the pending size is zero.
Handle empty send buffer notification
Notification is called when the send buffer is empty and ready for a new data to send.
This handler could be used to send another buffer to the client.
Handle error notification
Socket error code
Send error notification
Socket error code
Disposed flag
Session socket disposed flag
Conversion metrics utilities
Generate data size string. Will return a pretty string of bytes, KiB, MiB, GiB, TiB based on the given bytes.
Data size in bytes
String with data size representation
Generate time period string. Will return a pretty string of ns, mcs, ms, s, m, h based on the given nanoseconds.
Milliseconds
String with time period representation
WebSocket utility class
Initialize a new WebSocket
WebSocket handler
Final frame
Text frame
Binary frame
Close frame
Ping frame
Pong frame
Perform WebSocket client upgrade
WebSocket upgrade HTTP response
WebSocket client Id
'true' if the WebSocket was successfully upgrade, 'false' if the WebSocket was not upgrade
Perform WebSocket server upgrade
WebSocket upgrade HTTP request
WebSocket upgrade HTTP response
'true' if the WebSocket was successfully upgrade, 'false' if the WebSocket was not upgrade
Prepare WebSocket send frame
WebSocket opcode
WebSocket mask
Buffer to send as a span of bytes
WebSocket status (default is 0)
Prepare WebSocket send frame
Buffer to send
Buffer offset
Buffer size
Required WebSocket receive frame size
Clear WebSocket send/receive buffers
Initialize WebSocket random nonce
Handshaked flag
Received frame flag
Received final flag
Received frame opcode
Received frame header size
Received frame payload size
Receive buffer lock
Receive frame buffer
Receive final buffer
Receive mask
Send buffer lock
Send buffer
Send mask
WebSocket random generator
WebSocket random nonce of 16 bytes
WebSocket client
WebSocket client is used to communicate with WebSocket server. Thread-safe.
Initialize WebSocket client with a given IP address and port number
IP address
Port number
Initialize WebSocket client with a given IP address and port number
IP address
Port number
Initialize WebSocket client with a given DNS endpoint
DNS endpoint
Initialize WebSocket client with a given IP endpoint
IP endpoint
WebSocket random nonce
WebSocket secure client
WebSocket secure client is used to communicate with secure WebSocket server. Thread-safe.
Initialize WebSocket client with a given IP address and port number
SSL context
IP address
Port number
Initialize WebSocket client with a given IP address and port number
SSL context
IP address
Port number
Initialize WebSocket client with a given DNS endpoint
SSL context
DNS endpoint
Initialize WebSocket client with a given IP endpoint
SSL context
IP endpoint
WebSocket random nonce
WebSocket server
WebSocket server is used to communicate with clients using WebSocket protocol. Thread-safe.
Initialize WebSocket server with a given IP address and port number
IP address
Port number
Initialize WebSocket server with a given IP address and port number
IP address
Port number
Initialize WebSocket server with a given DNS endpoint
DNS endpoint
Initialize WebSocket server with a given IP endpoint
IP endpoint
WebSocket session
WebSocket session is used to read and write data from the connected WebSocket client. Thread-safe.
Initialize a new WebSocket session
WebSocket server
WebSocket secure server
WebSocket secure server is used to communicate with clients using WebSocket protocol. Thread-safe.
Initialize WebSocket server with a given IP address and port number
SSL context
IP address
Port number
Initialize WebSocket server with a given IP address and port number
SSL context
IP address
Port number
Initialize WebSocket server with a given DNS endpoint
SSL context
DNS endpoint
Initialize WebSocket server with a given IP endpoint
SSL context
IP endpoint
WebSocket secure session
WebSocket secure session is used to read and write data from the connected WebSocket client. Thread-safe.
Initialize a new WebSocket session
WebSocket server