Exemple #1
0
        public static async Task OpenSocket(Packet packet)
        {
            var ap    = new TcpCOpenSocket(packet);
            var app   = AppManager.PublishedApps.FirstOrDefault(x => x.InstanceId.SequenceEqual(ap.InstanceId));
            var reply = new byte[0];

            if (app == null)
            {
                reply = new TcpCSSocketControl(new byte[10],
                                               TcpCSSocketControl.OpenAck | TcpCSSocketControl.Close, packet.Nonce).Build();
            }
            else
            {
                AppConnection connection = new AppConnection(packet.Connection, app);
                await connection.SendInitialState(packet);
            }

            await packet.Connection.Stream.WriteAsync(reply);
        }
Exemple #2
0
 public static async Task ConnectionControl(Packet packet)
 {
     TcpCSSocketControl control = new TcpCSSocketControl(packet);
     var conn = AppConnection.Connections[AppConnection.IdToString(control.SocketId)];
     await conn.ProcessControl(packet);
 }
Exemple #3
0
 public static async Task SocketData(Packet packet)
 {
     TcpCSSocketData data = new TcpCSSocketData(packet);
     var             conn = AppConnection.Connections[AppConnection.IdToString(data.SocketId)];
     await conn.Send(packet.Connection.Socket, data.SocketData);
 }