/// <summary>
        /// 메세지를 브로드캐스팅 한다.
        /// </summary>
        /// <param name="accountId">계정</param>
        /// <param name="message">메세지</param>
        public void Broadcast(string accountId, string message)
        {
            cPKTSayNotify sendPacket = new cPKTSayNotify();

            sendPacket.AccountId = accountId;
            sendPacket.Message   = message;

            cLogger.Information("Broadcast AccountId: {0}, Message: {1}\r\n", accountId, message);

            StringBuilder log = new StringBuilder();

            foreach (KeyValuePair <string, IPeer> pair in PeerMap)
            {
                log.AppendFormat("AccountId: {0}, ", pair.Value.PeerId);
            }

            cLogger.Information("ChatRoom Member =====> {0}\r\n", log.ToString());

            Parallel.ForEach(PeerMap, pair =>
            {
                IPeer peer = pair.Value;
                if (null != peer)
                {
                    peer.Send(sendPacket);
                }
            });
        }
Exemple #2
0
        public void Execute(IPeer peer, IPacket packet)
        {
            cPKTSayNotify recvPacket = (cPKTSayNotify)packet;

            Debug.Log(
                String.Format("PKTSayNotifyHandler =====> AccountId: {0}, Message: {1}",
                              recvPacket.AccountId,
                              recvPacket.Message));

            MessageManager.Message = String.Format("PKTSayNotifyHandler =====> AccountId: {0}, Message: {1}",
                                                   recvPacket.AccountId,
                                                   recvPacket.Message);
        }