forked from powerfun/udpservice
fix:修复房间已经结束了但是房间内的人物信息被清空的问题
This commit is contained in:
parent
02aef8382e
commit
65c19a5071
@ -438,10 +438,10 @@ namespace OnlineUserPool.ViewModels
|
||||
//先移除当前用户在其他房间的信息(考虑服务器重启的时候没有响应客户端退出命令)
|
||||
private void RemoveOtherRoomInfo(int userId, int roomId)
|
||||
{
|
||||
var preRoom = RoomList.ToList().Where(c => c.Status == 0 && c.List.Where(c => c.UserId == userId).Any() && c.RoomId != roomId).FirstOrDefault();
|
||||
var preRoom = RoomList.ToList().FirstOrDefault(c => c.Status == 0 && c.List.Any(a => a.UserId == userId) && c.RoomId != roomId);
|
||||
if (preRoom != null)
|
||||
{
|
||||
var needRemove = preRoom.List.Where(c => c.UserId == userId).FirstOrDefault();
|
||||
var needRemove = preRoom.List.FirstOrDefault(c => c.UserId == userId && c.Saved == false);
|
||||
preRoom.List.Remove(needRemove);
|
||||
if (preRoom.List.Count == 0)
|
||||
{
|
||||
@ -794,7 +794,7 @@ namespace OnlineUserPool.ViewModels
|
||||
|
||||
SendDataSize = $"\t单客户端数据包V1:{ data1.GetBytes().Length / 1000D }KB,一共占用带宽:{ data1.GetBytes().Length / 1000D * clients1.Count }KB,压缩以后{ data1.GetBytes(true).Length / 1000D * clients1.Count }KB";
|
||||
|
||||
#region udp发送数据
|
||||
#region 发送数据
|
||||
foreach (var item in clients1)
|
||||
{
|
||||
try
|
||||
@ -846,14 +846,6 @@ namespace OnlineUserPool.ViewModels
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
//#region tcp发送数据
|
||||
//var tcpClient = clients1.Where(c => c.Service is TcpService1).FirstOrDefault();
|
||||
//if(tcpClient != null)
|
||||
//{
|
||||
// tcpClient.Service.Send(dataV1, dataV1.Length, null);
|
||||
//}
|
||||
//#endregion
|
||||
}
|
||||
|
||||
private void GameRoomDisConnectHandler(HostModel client)
|
||||
@ -865,7 +857,7 @@ namespace OnlineUserPool.ViewModels
|
||||
RoomList.ToList().ForEach(o => {
|
||||
if (o.List != null && o.Status != 2)
|
||||
{
|
||||
var needRemove = o.List.Where(c => c.UserId == client.MemberId).FirstOrDefault();
|
||||
var needRemove = o.List.FirstOrDefault(c => c.UserId == client.MemberId && c.Saved == false);
|
||||
o.List.Remove(needRemove);
|
||||
}
|
||||
});
|
||||
@ -932,7 +924,7 @@ namespace OnlineUserPool.ViewModels
|
||||
var room = RoomList.ToList().FirstOrDefault(c => c.RoomId == client.RoomId);
|
||||
if(room == null)return;
|
||||
|
||||
var needRemove = room.List.FirstOrDefault(c => c.UserId == client.MemberId);
|
||||
var needRemove = room.List.FirstOrDefault(c => c.UserId == client.MemberId && c.Saved == false);
|
||||
if(needRemove == null)return;
|
||||
|
||||
//从房间中移除,并考虑是否需要删除房间和移交房主
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user