Пример #1
0
    public byte[] chat;              //内容

    public static Package GeneratePackage(uint actorID, uint accepterActorID, string accepterName, string chat, byte chatType, Chat.ChatDefine define)
    {
        Package pkg = new Package();

        pkg.Head = new PkgHead((byte)MasterMsgType.NET_ROOT_CHAT, (short)define);
        SMsgChat_CS sMsgChat = new SMsgChat_CS();

        sMsgChat.dwActorID    = actorID;
        sMsgChat.bChatType    = chatType;
        sMsgChat.accepterName = new byte[19];
        System.Text.Encoding.UTF8.GetBytes(accepterName).CopyTo(sMsgChat.accepterName, 0);
        sMsgChat.dwAccepterActorID = accepterActorID;
        sMsgChat.chat    = System.Text.Encoding.UTF8.GetBytes(chat);
        sMsgChat.buffLen = (uint)(sMsgChat.chat.Length);
        //组包
        List <byte> data = new List <byte>();

        data.AddRange(BitConverter.GetBytes(sMsgChat.dwActorID));
        data.Add(sMsgChat.bChatType);
        data.AddRange(BitConverter.GetBytes(sMsgChat.buffLen));
        data.AddRange(BitConverter.GetBytes(sMsgChat.dwAccepterActorID));
        data.AddRange(sMsgChat.accepterName);
        data.AddRange(sMsgChat.chat);
        //打包
        pkg.Data = data.ToArray();

        return(pkg);
    }
Пример #2
0
    /// <summary>
    /// 私聊信息
    /// </summary>
    /// <param name="actorID">Actor I.</param>
    /// <param name="accepterActorID">Accepter actor I.</param>
    /// <param name="accepterName">Accepter name.</param>
    /// <param name="chat">Chat.</param>
    /// <param name="chatType">Chat type.</param>
    /// <param name="define">Define.</param>
    public void SendChat(uint actorID, uint accepterActorID, string accepterName, string chat, byte chatType, Chat.ChatDefine define)
    {
        //统一此处过滤敏感字符
        chat = CommonDefineManager.Instance.IllegalCharacterConfig.ReplaceCharacter(chat);
        Package package = SMsgChat_CS.GeneratePackage(actorID, accepterActorID, accepterName, chat, chatType, define);

        this.Request(package);
    }