Exemplo n.º 1
0
        public void Send(MessageModel Message)
        {
            SendStateObject state = new SendStateObject();

            state.WorkSocket = _ConSocket;
            state.extra      = Message;

            MessageBase sendMessage = null;

            if (Message is TextMessageModel)
            {
                sendMessage = new TextChatMessage((TextMessageModel)Message, Model.Username, Model.id);
            }
            else if (Message is ImageMessageModel)
            {
                sendMessage = new ImageChatMessage((ImageMessageModel)Message, Model.Username, Model.id);
            }
            else if (Message is BuzzMessageModel)
            {
                sendMessage = new BuzzMessage(Model.Username, Model.id);
            }
            string serializedMessage = sendMessage.Serialize();

            byte[] byteMessage = Encoding.UTF8.GetBytes(serializedMessage);
            state.MessageLength = byteMessage.Length;
            try
            {
                state.WorkSocket.BeginSend(byteMessage, 0, state.MessageLength, SocketFlags.None, SendCallback, state);
            }
            catch (Exception ex) when(ex is SocketException || ex is NullReferenceException)
            {
                throw new NoConnectionException();
            }
        }
Exemplo n.º 2
0
        public void SendBuzzMessage()
        {
            BuzzMessage meBuzz = new BuzzMessage("You Buzzed " + info.PeerUsername, info.MyUsername);

            AddMessage(meBuzz);
            Database.DatabaseManager.WriteMessages(Messages.ToList(), info);


            BuzzMessage buzz = new BuzzMessage(info.MyUsername + " Buzzed you!", info.MyUsername);

            Runner.Secondary(() => socket.SendMessage(buzz, MessageType.BuzzMessage));
        }
Exemplo n.º 3
0
 private void OnBuzzMessageRecievedHandler(BuzzMessage message)
 {
     AddMessage(message);
     Database.DatabaseManager.WriteMessages(Messages.ToList(), info);
     OnBuzzHandler();
 }
Exemplo n.º 4
0
 void OnBuzzReceived(BuzzMessage msg)
 {
     BuzzReceived(this, new SessionEventArgs(msg.SessionId, msg.Sender));
     Trace.WriteLine(msg.Sender + " is buzzing.");
 }