Search Unity

  1. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Question ٍRam Is Poor

Discussion in 'Unity Transport' started by Farshadfarzan368, Sep 14, 2023.

  1. Farshadfarzan368

    Farshadfarzan368

    Joined:
    Sep 10, 2022
    Posts:
    73
    Code (CSharp):
    1.  public async Task SendProfileComplate(string userID, NetworkConnection nc)
    2.     {
    3.         Net_DataConnection DC = new Net_DataConnection();
    4.         NetworkConnection nc2 = new NetworkConnection();
    5.         await Task.Run(() =>
    6.         {
    7.             print(" 0ConectComplate(Net_DataConnection msg21) ");
    8.             nc2 = nc;
    9.             Model_userinformation thisacc = null;
    10.             IMongoQuery query = null;
    11.             query = Query<Model_userinformation>.Where(x => x.userid == userID);
    12.             thisacc = userinformation.FindOne(query);
    13.             print(" 1ConectComplate(Net_DataConnection msg21) ");
    14.             if (thisacc != null && thisacc.userid == userID)
    15.             {
    16.                 int edited = 0;
    17.                 if (thisacc.FriendList.Count > 0)
    18.                 {
    19.                     for (int i = 0; i < thisacc.FriendList.Count; i++)
    20.                     {
    21.                         // get Profile In MongoDB
    22.                         Net_Profile NP = GetProfile(thisacc.FriendList[i], "friend");
    23.                         if (NP.UserId != null && NP.UserId != "")
    24.                         {
    25.                             for (int k = 0; k < serverCode.ncList.Count; k++)
    26.                             {
    27.                                 if (serverCode.ncList[k].userid == thisacc.FriendList[i])
    28.                                 {
    29.                                     NP.Status = serverCode.ncList[k].Status;
    30.  
    31.                                     serverCode.SendDatatoClient(new Net_Status { TargetProfile = userID, Status = 1 }, serverCode.ncList[k].nc);
    32.                                 }
    33.                                 else if (serverCode.ncList[k].userid == userID)
    34.                                     serverCode.ncList.RemoveAt(k);
    35.                             }
    36.                             DC.Profile.Add(NP);
    37.                         }
    38.                         else
    39.                         {
    40.                             thisacc.FriendList.RemoveAt(i);
    41.                             edited = 1;
    42.                         }
    43.                     }
    44.                     print(" 2ConectComplate(Net_DataConnection msg21) ");
    45.                 }
    46.                 else
    47.                 {
    48.                     for (int k = 0; k < serverCode.ncList.Count; k++)
    49.                     {
    50.                         if (serverCode.ncList[k].userid == userID)
    51.                         {
    52.                             serverCode.ncList.RemoveAt(k);
    53.                             break;
    54.                         }
    55.                     }
    56.  
    57.                 }
    58.                 for (int i = 0; i < thisacc.BlockList.Count; i++)
    59.                 {
    60.                     Net_Profile NewNP = GetProfile(thisacc.BlockList[i], "block");
    61.                     if (NewNP.UserId != null && NewNP.UserId != "")
    62.                         DC.Profile.Add(NewNP);
    63.                     else
    64.                     {
    65.                         thisacc.BlockList.RemoveAt(i);
    66.                         edited = 1;
    67.                     }
    68.                 }
    69.                 DC.BlackMeList = thisacc.BlockMeList;
    70.                 int numokdavad = thisacc.Mojodi;
    71.                 Net_Profile MyProfile = new Net_Profile { Name = thisacc.Name, Status = 1, AvatarUrl = thisacc.AvatarUrl, UserId = thisacc.userid, ExsitGame = thisacc.ExsitGame, FavoritesGame = thisacc.FavoritesGame, Sath = thisacc.Sath, Type = "my", NumberADDok = numokdavad, Email = thisacc.Email };
    72.                 DC.Profile.Add(MyProfile);
    73.  
    74.                 DC.MsgWait = thisacc.ListMsgwaite;
    75.                 for (int i = 0; i < DC.MsgWait.Count; i++)
    76.                 {
    77.                     if (DC.MsgWait[i].msgType == "friendadd")
    78.                     { // get Profile In MongoDB
    79.                         Net_Profile np = GetProfile(DC.MsgWait[i].Sender, "friendadd");
    80.                         np.MsgID = DC.MsgWait[i].MsgId;
    81.                         DC.Profile.Add(np);
    82.                         DC.MsgWait.RemoveAt(i);
    83.                         edited = 0;
    84.                     }
    85.  
    86.                 }
    87.                 conection newNc = new conection();
    88.                 newNc.userid = userID;
    89.                 newNc.nc = nc;
    90.                 newNc.Status = 1;
    91.                 newNc.FriendList = thisacc.FriendList;
    92.                 serverCode.ncList.Add(newNc);
    93.                 ////////////////
    94.                 if (edited == 1)
    95.                     userinformation.Update(query, Update<Model_userinformation>.Replace(thisacc));
    96.                 /////////////////////
    97.                 ///
    98.  
    99.             }
    100.         });
    101.  
    102.         serverCode.SendFragmentedDatatoClient(DC, nc2);
    103.         serverCode.ChessServer.ConectedClient(userID);
    104.  
    105.     }
    106.    
    This code is intended to send complete information to the desired user. Why does it fill and not empty the computer's RAM every time it is executed?
    problem is not with the send functions it's with the code.
     
    Last edited: Sep 14, 2023