Example #1
0
        public bool SignOut(string username)
        {
            RTPUDPClient.MySend(Server.Address.ToString(), Server.Port, "out " + username);
            string result = RTPUDPClient.MyReceive(4505);

            return(result.Equals("Removed"));
        }
Example #2
0
        public IPEndPoint CallUser(string username, string myname)
        {
            IPEndPoint remote = FindIpPort(username);
            string     result = RTPUDPClient.MySend(remote.Address.ToString(), remote.Port, "CallRequest " + myname);

            return(remote);
        }
Example #3
0
        public bool SignIn(string username)
        {
            RTPUDPClient.MySend(Server.Address.ToString(), Server.Port, "set " + username);
            string result = RTPUDPClient.MyReceive(4505);

            if (result.Equals("Changed"))
            {
                return(true);
            }
            return(false);
        }
Example #4
0
        public IPEndPoint[] CallUser(string username, string myname, string localCandidates)
        {
            RTPUDPClient.MySend(Server.Address.ToString(), Server.Port, "snd " + myname + " " + username + " " + localCandidates);
            string result = RTPUDPClient.MyReceive(4505);
            int    pos    = result.IndexOf(' ');
            string sender = result.Substring(0, pos);
            string remain = result.Substring(pos + 1);

            IPEndPoint[] ret = new IPEndPoint[2];
            ret[0] = ConvertTo(remain.Substring(0, remain.IndexOf(';')));
            ret[1] = ConvertTo(remain.Substring(remain.IndexOf(';') + 1));
            return(ret);
        }
Example #5
0
        public IPEndPoint[] WaitForCall(string tosend, string uname)
        {
            string result = RTPUDPClient.MyReceive(4505);
            int    pos    = result.IndexOf(' ');
            string sender = result.Substring(0, pos);
            string remain = result.Substring(pos + 1);

            IPEndPoint[] ret = new IPEndPoint[2];
            ret[0] = ConvertTo(remain.Substring(0, remain.IndexOf(';')));
            ret[1] = ConvertTo(remain.Substring(remain.IndexOf(';') + 1));
            RTPUDPClient.MySend(Server.Address.ToString(), Server.Port, "snd " + uname + ' ' + sender + ' ' + tosend);
            return(ret);
        }
Example #6
0
        public IPEndPoint StartNeg(bool IsCaller, IPEndPoint[] local, IPEndPoint[] remote)
        {
            if (IsCaller)
            {
                bool done = false;
                for (int i = 0; i < 2; i++)
                {
                    for (int j = 0; j < 2; j++)
                    {
                        if (!done)
                        {
                            IPEndPoint from = local[i];
                            IPEndPoint to   = remote[j];
                            RTPUDPClient.MySend(to.Address.ToString(), to.Port, "tst " + from.ToString());
                            string res = RTPUDPClient.MyReceive1(4505);
                            if (res == "Success")
                            {
                                RTPUDPClient.MySend(to.Address.ToString(), to.Port, "fin " + from.ToString());
                                return(to);
                            }
                        }
                    }
                }
                return(null);
            }
            else
            {
top:
                string message = RTPUDPClient.MyReceive(4505);
                string mestype = message.Substring(0, 3);
                string remain  = message.Substring(4);
                if (mestype.Equals("fin"))
                {
                    return(new IPEndPoint(IPAddress.Parse(remain.Substring(0, remain.IndexOf(':'))), Convert.ToInt32(remain.Substring(remain.IndexOf(':') + 1))));
                }
                else if (mestype.Equals("tst"))
                {
                    IPEndPoint to = new IPEndPoint(IPAddress.Parse(remain.Substring(0, remain.IndexOf(':'))), Convert.ToInt32(remain.Substring(remain.IndexOf(':') + 1)));
                    RTPUDPClient.MySend(to.Address.ToString(), to.Port, "Success");
                    goto top;
                }
            }
            return(null);
        }
Example #7
0
        public IPEndPoint FindIpPort(string username)
        {
            IPEndPoint ret = new IPEndPoint(IPAddress.Parse("255.255.255.255"), 0);

            RTPUDPClient.MySend(Server.Address.ToString(), Server.Port, "get " + username);
            string result = RTPUDPClient.MyReceive(4505);

            if (result.Equals("Failed"))
            {
                return(ret);
            }
            else
            {
                int    pos = result.IndexOf(":");
                string a   = result.Substring(0, pos);
                string b   = result.Substring(pos + 1);
                return(new IPEndPoint(IPAddress.Parse(a), Convert.ToInt32(b)));
            }
        }
Example #8
0
 public string Testsend(IPEndPoint remote, String data)
 {
     return(RTPUDPClient.MySend(remote.Address.ToString(), remote.Port, data));
 }