GetUser() public method

public GetUser ( ) : string
return string
コード例 #1
0
 public void RemoveUserDead()
 {
     try
     {
         if (!lstUsers.InvokeRequired)
         {
             int i;
             for (i = 0; i < _listUsr.Count; i++)
             {
                 User tmp = (User)_listUsr[i];
                 if (tmp.GetIEPConvVideo() == null && tmp.GetIEPConvAudio() == null)
                 {
                     if (!tmp.GetHearBeat())
                     {
                         lstUsers.Items.Remove(tmp.GetUser());
                         _listUsr.Remove(tmp);
                         tmp = null;
                     }
                     else
                     {
                         tmp.SetHearBeat(false);
                     }
                 }
             }
         }
         else
         {
             RemoveUserDeadCallback d = new RemoveUserDeadCallback(RemoveUserDead);
             Invoke(d, new object[] {  });
         }
     }
     catch (Exception)
     {
     }
 }
コード例 #2
0
        public String GetUsrLst(String sIP)
        {
            try
            {
                int i; String sRet = "";

                for (i = 0; i < _listUsr.Count; i++)
                {
                    User usr = (User)_listUsr[i];
                    if (usr.GetIP() != sIP)
                    {
                        sRet += usr.GetUser() + "|";
                    }
                }
                return(sRet);
            }
            catch (Exception)
            {
            }
            return("");
        }
コード例 #3
0
        public User GetUser(String sUser)
        {
            User usr = null;

            try
            {
                int i;
                for (i = 0; i < _listUsr.Count && usr == null; i++)
                {
                    User tmp = (User)_listUsr[i];
                    if (tmp.GetUser() == sUser)
                    {
                        usr = tmp;
                    }
                }
            }
            catch (Exception)
            {
            }
            return(usr);
        }
コード例 #4
0
 public void UpdateUserList(string sUsr, String sIP, string sPortVideo, string sPortAudio, bool bAdd, Socket sck)
 {
     try
     {
         if (!lstUsers.InvokeRequired)
         {
             // remove if exist
             int i;
             for (i = 0; i < _listUsr.Count; i++)
             {
                 User tmp = (User)_listUsr[i];
                 if (tmp.GetUser() == sUsr)
                 {
                     _listUsr.Remove(tmp);
                     lstUsers.Items.Remove(sUsr);
                 }
             }
             if (bAdd)
             {
                 User usr = new User(sUsr, sIP, sck);
                 usr.SetIepAudio(Convert.ToInt32(sPortAudio));
                 usr.SetIepVideo(Convert.ToInt32(sPortVideo));
                 _listUsr.Add(usr);
                 lstUsers.Items.Add(sUsr);
             }
         }
         else
         {
             UpdateUserListCallback d = new UpdateUserListCallback(UpdateUserList);
             Invoke(d, new object[] { sUsr, sIP, sPortVideo, sPortAudio, bAdd, sck });
         }
     }
     catch (Exception)
     {
     }
 }
コード例 #5
0
ファイル: UDPServer.cs プロジェクト: BluePandaLi/MobiVU
        /// <summary>
        /// UDP Server Thread for audio frames
        /// </summary>
        private void UDPThreadAudio()
        {
            Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

            sock.ReceiveBufferSize = 10000000;
            sock.ReceiveTimeout    = 900;
            IPEndPoint iep = new IPEndPoint(IPAddress.Any, _iPortAudio);

            sock.Bind(iep);
            EndPoint ep = (EndPoint)iep;

            int iRead;

            byte[]     data = new byte[10000];
            IPEndPoint iepConv;

            System.Text.Encoding enc;
            enc = System.Text.Encoding.ASCII;
            while (!_bStopServer)
            {
                try
                {
                    iRead = sock.ReceiveFrom(data, ref ep);
                    if (iRead > 0)
                    {
                        //Console.WriteLine("Thread Audio:" + iRead.ToString());

                        /*int iCnt = data[2];
                         * iCnt <<= 8;
                         * iCnt |= data[1];*/
                        switch (data[0])
                        {
                        case CMD_ECHO:
                            sock.SendTo(data, iRead, SocketFlags.None, ep);
                            Program.MainForm.UpdateBytesRX(iRead);
                            break;

                        case CMD_FRM_AUDIO:
                            User usr = Program.MainForm.GetUserFromIPNoPort(ep.ToString());
                            //Console.WriteLine(usr.GetUser() + " > Audio ");
                            iepConv = usr.GetIEPConvAudio();
                            if (iepConv != null)
                            {
                                sock.SendTo(data, iRead, SocketFlags.None, iepConv);
                            }
                            break;

                        case CMD_BIND_USER:
                            data[iRead] = 0;
                            string sTmp        = enc.GetString(data, 1, iRead - 1);
                            User   usrReceiver = Program.MainForm.GetUser(sTmp);
                            User   usrCaller   = Program.MainForm.GetUserFromIPNoPort(ep.ToString());
                            if (usrReceiver != null)
                            {
                                usrCaller.SetIepAudio(ep.ToString());
                                usrCaller.SetIEPConvAudio(usrReceiver.GetIEPAudio());
                                String sCal = usrCaller.GetIEPVideo().Address + ":" + usrCaller.GetIEPVideo().Port;
                                String sDst = usrReceiver.GetIEPVideo().Address + ":" + usrReceiver.GetIEPVideo().Port;
                                Program.MainForm.AddLog("AUDIO BINDING :" + usrCaller.GetUser() + " " + sCal + "-> " + usrReceiver.GetUser() + " " + sDst, "");

                                data[1] = ACK;
                                sock.SendTo(data, 2, SocketFlags.None, ep);
                            }
                            else
                            {
                                Program.MainForm.AddLog(usrCaller.GetUser() + " CANNOT AUDIO BIND ", "");
                                data[1] = NACK;
                                sock.SendTo(data, 2, SocketFlags.None, ep);
                            }
                            break;
                        }
                    }
                }
                catch (Exception)
                {
                }
            }
            sock.Close();
        }