Serialize() public static method

public static Serialize ( Type, objType, object obj ) : string
objType Type,
obj object
return string
Ejemplo n.º 1
0
        void SendBroadcast(int beginPort, int endPort, RPCMessage msg)
        {
            byte[] buffer = PBSerializer.Serialize(msg);

            for (int i = beginPort; i < endPort; i++)
            {
                m_Socket.SendTo(buffer, buffer.Length, new IPEndPoint(IPAddress.Broadcast, i));
            }
        }
Ejemplo n.º 2
0
        private void sendMsg(long peerId, IExtensible msg)
        {
            var frame   = PBSerializer.Serialize(msg);
            var builder = new ByteBuilder();

            builder.Add(frame.Length, Endians.Little);
            builder.Add(frame);
            svr.SendBytes(peerId, builder.ToArrayThenClear());
        }
Ejemplo n.º 3
0
        public void Send(IExtensible msg)
        {
            Debug.Assert(peerId != 0);

            var frame   = PBSerializer.Serialize(msg);
            var builder = new ByteBuilder();

            builder.Add(frame.Length, Endians.Little);
            builder.Add(frame);
            cli.SendBytes(peerId, builder.ToArrayThenClear());
        }
Ejemplo n.º 4
0
        //================================逻辑=============================
        public void JoinRoom(string ip, int port)
        {
            m_roomAddress = IPUtils.GetHostEndPoint(ip, port);

            PlayerData player = new PlayerData();

            player.userID   = m_mainUserId;
            player.userName = m_mainUserName;
            byte[] customPlayerData = PBSerializer.Serialize(player);

            RPC(m_roomAddress, RoomRPC.RPC_JoinRoom, m_mainUserId, m_mainUserName, customPlayerData);
        }
Ejemplo n.º 5
0
        public bool Send(FSPFrame frame)
        {
            if (m_Socket != null)
            {
                FSPData_SC data = new FSPData_SC();
                data.frames.Add(frame);

                int len = PBSerializer.Serialize(data, m_SendBuffer);
                return(m_Socket.SendTo(m_SendBuffer, len, m_EndPoint));
            }
            return(false);
        }
Ejemplo n.º 6
0
        void Call_UpdateRoomInfo()
        {
            var players = m_data.players;

            for (int i = 0; i < players.Count; ++i)
            {
                Debuger.Log(LOG_TAG, "Call_UpdateRoomInfo() Player: {0}-{1}", players[i].userId, players[i].name);
            }

            byte[] param = PBSerializer.Serialize(m_data);
            RPC(GetAllAddress(), RoomRPC.RPC_UpdateRoomInfo, param);
        }
Ejemplo n.º 7
0
        void SendMessage(List <IPEndPoint> remoteList, RPCMessage msg)
        {
            byte[] buffer = PBSerializer.Serialize(msg);

            for (int i = 0; i < remoteList.Count; i++)
            {
                IPEndPoint remote = remoteList[i];
                if (remote != null)
                {
                    m_Socket.SendTo(buffer, buffer.Length, remote);
                }
            }
        }
Ejemplo n.º 8
0
        public bool SendFSP(int vkey, int arg, int clientFrameId)
        {
            if (m_IsRunning)
            {
                FSPVKey cmd = m_TempSendData.vkeys[0];
                cmd.vkey = vkey;
                cmd.args.Add(arg);
                cmd.clientFrameId = (uint)clientFrameId;

                int len = PBSerializer.Serialize(m_TempSendData, m_TempSendBuf);
                return(m_Socket.SendTo(m_TempSendBuf, len, m_HostEndPoint));
            }
            return(false);
        }
Ejemplo n.º 9
0
        void Call_NotifyGameStart()
        {
            Debuger.Log(LOG_TAG, "Call_NotifyGameStart()");

            var players = m_data.players;

            FSPGameStartParam param = new FSPGameStartParam();

            param.fspParam = FSPServer.Instance.GetParam();

            foreach (var player in players)
            {
                param.players.Add(player);
            }
            param.customGameParam = m_customGameParam;

            FSPServer.Instance.StartGame();
            FSPServer.Instance.Game.onPlayerExit += _OnPlayerExit;
            FSPServer.Instance.Game.onGameEnd    += _OnGameEnd;

            for (int i = 0; i < players.Count; i++)
            {
                var player = players[i];

                param.fspParam.sid = player.sid;

                //将玩家加入到FSPServer中
                FSPServer.Instance.Game.AddPlayer(player.id, player.sid);

                if (m_mapUserId2Address.ContainsKey(player.userId))
                {
                    IPEndPoint address = m_mapUserId2Address[player.userId];

                    byte[] buff = PBSerializer.Serialize(param);
                    RPC(address, RoomRPC.RPC_NotifyGameStart, buff);
                }
                else
                {
                    Debuger.LogError(LOG_TAG, "User {0} does not have net address", player.userId);
                }
            }
        }
Ejemplo n.º 10
0
    public void StartHost()
    {
        if (!HasHost())
        {
            FSPServer.Instance.Start(0);
            FSPServer.Instance.SetServerTimeout(0);
            //将自定义游戏参数传给房间
            //以便于由房间通知玩家游戏开始时,能够将该参数转发给所有玩家
            byte[] customGameParam = PBSerializer.Serialize(new GamePlay.GameParam());
            FSPServer.Instance.Room.SetCustomGameParam(customGameParam);

            Debuger.Log("HostModule", string.Format("start host: {0}-{1}", ip, port));

            EventManager.Instance.SendEvent <string, int>("OnStartHost", ip, port);
            EventManager.Instance.SendEvent("OnHostChanged");
        }
        else
        {
            Debuger.Log("HostModule", "The host is alreay started");
        }
    }
Ejemplo n.º 11
0
 static FSPParam CloneParam(FSPParam param)
 {
     byte[] bytes = PBSerializer.Serialize(param);
     return PBSerializer.Deserialize<FSPParam>(bytes);
 }
Ejemplo n.º 12
0
 //=====================================================================
 #region 消息发送
 void SendMessage(IPEndPoint remote, RPCMessage msg)
 {
     byte[] buffer = PBSerializer.Serialize(msg);
     m_Socket.SendTo(buffer, buffer.Length, remote);
 }