Click or drag to resize

CotpServerOpen Method (Byte, NotifyDataChangedEventHandler)

Open a COTP server. Creates a server and starts accepting connections, calling 'dataChangedHandler' with data from each connection as it arrives. 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: 10.0.0.0 (10.0.0.0)
Syntax
C#
public static ServerSocket Open(
	byte[] tsap,
	NotifyDataChangedEventHandler dataChangedHandler
)

Parameters

tsap
Type: SystemByte
The local TSAP to open the server on.
dataChangedHandler
Type: Demo3D.NetNotifyDataChangedEventHandler
Delegate for servicing new data arriving on a client connection.

Return Value

Type: ServerSocket
The COTP protocol socket.
Examples
C#
// Start a new server, calling DataReceived for every packet received.
public void StartServer(string tsap) {
    CotpServer.Open(tsap, DataReceived);
}

// Called when data is received.
void DataReceived(ProtocolSocket socket, object service, NotifyDataChangedEventArgs e) {
    var io   = (IPacketIOService)service;    // CotpServer uses IPacketIOService.
    var args = (PacketChangedEventArgs)e;    // IPacketIOService posts PacketChangedEventArgs when it raises a DataChanged event.

    // With the packet that was received.
    using (var packet = args.GetPacket()) {
        var message = packet.ReadString();   // Read the message and log it.
        Logger.Log("Message received: " + message);
    }

    // Send back a reply.
    using (var packet = io.Write()) {
        packet.WriteString("hello");         // The message is the string "hello".
        packet.Flush();                      // Send the message.
    }
}
See Also