public void CreateRoom(CS_CreateRoom cs, string connectionId) { try { SC_CreateRoom sc = new SC_CreateRoom() { Code = 1, }; Room room = _host.Find(r => r.PrivateIp == cs.PrivateIp && r.Port == cs.Port); if (room != null) { sc.Code = 101; sc.Msg = "CreateRoom Fail. Ip & Port are already using"; HubConnector.Client(connectionId).ErrorMsg(JsonConvert.SerializeObject(sc)); } Room data = new Room() { ConnectionId = connectionId, PrivateIp = cs.PrivateIp, Port = cs.Port, State = RoomState.Wait, GameName = cs.GameName, Player = 1, }; _host.Add(data); User user = new User() { ConnectionId = connectionId, RoonNum = _host.Count - 1, }; _user.Add(user); HubConnector.Client(connectionId).ResponseCreateRoom(JsonConvert.SerializeObject(sc)); } catch (Exception ex) { HubModel error = new HubModel() { Code = 101, Msg = "CreateRoom Exception Fail : " + ex.ToString(), }; HubConnector.Client(connectionId).ErrorMsg(JsonConvert.SerializeObject(error)); } }
public void RequestCreateRoom(object args) { CS_CreateRoom cs = JsonConvert.DeserializeObject <CS_CreateRoom>(args.ToString()); _host.CreateRoom(cs, Context.ConnectionId); }