Ejemplo n.º 1
0
        public void Connect(string hostname_or_ip, ushort port, FunEncoding encoding, bool session_reliability)
        {
            // TODO(dkmoon): currenlty only Protobuf is supported.
            DebugUtils.Assert(encoding == FunEncoding.kProtobuf);

            // Discards previous instance, if any, and creates a brand new instance.
            multicasting_ = new FunapiMulticastClient (encoding);
            multicasting_.Connect(hostname_or_ip, port, session_reliability);
        }
Ejemplo n.º 2
0
        public static FunapiMulticastClient CreateMulticasting(FunEncoding encoding, bool session_reliability)
        {
            if (data_ == null)
            {
                Debug.Log("There's no config data. You should call FunapiConfig.Load first.");
                return null;
            }

            string str_ip = "multicast_server_ip";
            string str_port = "multicast_server_port";
            if (!data_.ContainsKey(str_ip) || !data_.ContainsKey(str_port))
            {
                Debug.Log("CreateMulticasting - Can't find values for multicasting.");
                return null;
            }

            string hostname_or_ip = data_[str_ip] as string;
            UInt16 port = Convert.ToUInt16(data_[str_port]);
            if (hostname_or_ip.Length <= 0 || port == 0)
            {
                Debug.Log(String.Format("CreateMulticasting - Invalid value. ip:{0} port:{1} encoding:{2}",
                                        hostname_or_ip, port, encoding));
                return null;
            }

            FunapiMulticastClient multicast = new FunapiMulticastClient(encoding);
            multicast.Connect(hostname_or_ip, port, session_reliability);

            return multicast;
        }