Click or drag to resize

CotpServerOpenAsync Method (String, ServiceClientAsyncIPacketIOService, Int32)

Open a COTP 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.Protocols
Assembly:  Demo3D.IO (in Demo3D.IO.dll) Version: 15.0.2.11458
Syntax
C#
public static Task<ServerSocket> OpenAsync(
	string tsap,
	ServiceClientAsync<IPacketIOService> serviceConnection,
	int port = -1
)

Parameters

tsap
Type: SystemString
The local TSAP to open the server on.
serviceConnection
Type: Demo3D.NetServiceClientAsyncIPacketIOService
Delegate for servicing a new connection.
port (Optional)
Type: SystemInt32
ISO port number.

Return Value

Type: TaskServerSocket
The COTP protocol socket.
Examples
C#
// Start a new server, calling ServiceConnectionAsync on every connection established.
public async Task StartServerAsync(string tsap) {
    await CotpServer.OpenAsync(sync: false, tsap, ServiceConnectionAsync);
}

// Services a client connection.
async Task ServiceConnectionAsync(ServerClient<IPacketIOService> socket) {
    Logger.Log("Connection from " + socket.Address);

    // Simple server loops forever receiving messages and printing them to the log.
    for (;;) {
        var    buffer  = await socket.IO.ReadAsync(length: -1);     // -1 means read all the data received
        string message = BinaryTextEncoding.FixedLengthASCII.GetString(buffer);
        Logger.Log("Message received: " + message);
    }
}
See Also