Example #1
0
        private void SendProc()
        {
            using (var stream = new NetworkStream(_socket, FileAccess.Write, ownsSocket: false))
            {
                // Broadcast arrival to others
                _broadcastQueue.SendExcept(new ServerMessage($"{Name} has joined."), _messageQueue);

                // Queue a welcome message
                // TODO: include most recent messages in welcome message
                _messageQueue.Enqueue(new WelcomeMessage(Name, $"Welcome! Your name is {Name}."));

                while (true)
                {
                    Message message = _messageQueue.Dequeue();

                    stream.WriteMessage(message);
                }
            }
        }