private static void WebSocketDemo() { var wsService = NetTool.CreateWSSever(); wsService.OnAccepted = new OnAcceptedHandler((SocketToken sToken) => { Log.L("accepted:" + sToken.TokenIpEndPoint); }); wsService.OnDisconnected = new OnDisconnectedHandler((SocketToken sToken) => { Log.L("disconnect:" + sToken.TokenIpEndPoint.ToString()); }); wsService.OnReceived = new OnReceivedHandler((SocketToken sToken, string content) => { Log.L("receive:" + content); wsService.Send(sToken, "hello websocket client! you said:" + content); }); wsService.OnReceivedBytes = new OnReceivedSegmentHandler((SegmentToken session) => { Log.L("receive bytes:" + session.Data.size); }); bool isOk = wsService.Start(65531); if (isOk) { Log.L("waiting for accept..."); var client = NetTool.CreateWSClient(); client.OnConnected = new OnConnectedHandler((SocketToken sToken, bool isConnected) => { Log.L("connected websocket server..."); }); client.OnReceived = new OnReceivedHandler((SocketToken sToken, string msg) => { Log.L(msg); }); isOk = client.Connect("ws://127.0.0.1:65531"); if (isOk) { client.Send("hello websocket"); } } }