To create a websocket server, instantiate WatsonWsServer. The constructor accepts an IP address (or hostname), a port, and a bool to enable or disable SSL. You can subscribe to ClientConnected, ClientDisconnected, and MessageReceived events to handle lifecycle and data events.
Note: In v4.0.x, clients are identified by a Guid in ClientMetadata, and Send* methods now require a guid instead of an IpPort.
using WatsonWebsocket;
WatsonWsServer server = new WatsonWsServer("[ip]", port, true|false);
server.ClientConnected += ClientConnected;
server.ClientDisconnected += ClientDisconnected;
server.MessageReceived += MessageReceived;
server.Start();
static void ClientConnected(object sender, ConnectionEventArgs args)
{
Console.WriteLine("Client connected: " + args.Client.ToString());
}
static void ClientDisconnected(object sender, DisconnectionEventArgs args)
{
Console.WriteLine("Client disconnected: " + args.Client.ToString());
}
static void MessageReceived(object sender, MessageReceivedEventArgs args)
{
Console.WriteLine("Message received from " + args.Client.ToString() + ": " + Encoding.UTF8.GetString(args.Data));
}