private void AddArduinoToRoom(ArduinoJoin arduinoActionArduinoJoin, IWebSocketConnection connection) { var response = new ServerMessage(); var repository = _lifetimeScope.Resolve <IRepository>(); if (repository.GetAll <ArduinoDevice>() .Any(arduino => arduino.ArduinoDeviceId == arduinoActionArduinoJoin.ArduinoId)) { response.ArduinoConnectedMessage = new ArduinoConnected { Fail = true }; } else { var room = _socketRooms .FirstOrDefault(x => x.ConnectedClients .Any(client => client.RfIdCardNumber == arduinoActionArduinoJoin.RfIdCard)); if (room == null) { room = new SocketRoom(); } var newClient = new ArduinoSocketClient(room, connection, arduinoActionArduinoJoin.RfIdCard); room.AddClient(newClient); _joinedClients.TryAdd(connection, newClient); } connection.Send(response.ToByteArray()); }
private void AddWebClientToRoom(WebClientActionJoin webClientActionJoin, IWebSocketConnection connection) { var room = _socketRooms.FirstOrDefault(x => x.ConnectedClients.Any(client => client.RfIdCardNumber == webClientActionJoin.RfIdCardNo)); if (room == null) { room = new SocketRoom(); } var newClient = new BrowserSocketClient(room, connection, webClientActionJoin.RfIdCardNo); room.AddClient(newClient); _joinedClients.TryAdd(connection, newClient); }
public BrowserSocketClient(SocketRoom socketRoom, IWebSocketConnection webSocketConnection, int clientId) { SocketRoom = socketRoom; WebSocketConnection = webSocketConnection; RfIdCardNumber = clientId; }
public ArduinoSocketClient(SocketRoom socketRoom, IWebSocketConnection webSocketConnection, int rfId) { SocketRoom = socketRoom; WebSocketConnection = webSocketConnection; RfIdCardNumber = rfId; }