TcpServerOpenAsync(Boolean, Int32, ServiceClientAsyncIByteStreamService) Method |
Opens a TCP server.
Creates a server and starts accepting connections, calling 'serviceConnection' with each connection established.
This method returns after the server has been established, leaving the accepting and servicing of connections to a background thread.
Namespace: Demo3D.Net.ProtocolsAssembly: Demo3D.IO (in Demo3D.IO.dll) Version: 19.00.00
Syntaxpublic static Task<ServerSocket> OpenAsync(
bool sync,
int port,
ServiceClientAsync<IByteStreamService> serviceConnection
)
Parameters
- sync Boolean
- If true, the Task returned is guaranteed to be complete.
- port Int32
- The port to open the server on.
- serviceConnection ServiceClientAsyncIByteStreamService
- Delegate for servicing a new connection.
Return Value
TaskServerSocketThe TCP protocol server socket.
Example
public async Task StartServerAsync(int port) {
await TcpServer.OpenAsync(sync: false, port, ServiceConnectionAsync);
}
async Task ServiceConnectionAsync(ServerClient<IByteStreamService> socket) {
Logger.Log("Connection from " + socket.Address);
var stream = socket.IO.Stream;
for (;;) {
var buffer = new byte[4];
var numBytes = await stream.ReadAsync(buffer);
if (numBytes == 0) break;
Logger.Log("Message received: " + numBytes);
}
}
See Also