AddClient() public method

public AddClient ( Socket ClientSocket ) : void
ClientSocket System.Net.Sockets.Socket
return void
Example #1
0
        //------------------------------------------------------------------------------------------------------------------------

        private void ClientThread(object client)
        {
            var socket = (Socket)client;

            Console.WriteLine(string.Format("New client from " + socket.RemoteEndPoint.ToString()));
            //get feed name request
            string feedName = string.Empty;

            using (var netStream = new NetworkStream(socket, false))
                using (var reader = new StreamReader(netStream))
                {
                    var req = reader.ReadLine();
                    try
                    {
                        feedName = req.Split(new[] { ' ' })[1];
                        if (feedName[0] == '/')
                        {
                            feedName = feedName.Substring(1);
                        }
                    }
                    catch { }
                }

            //find feed
            AudioFeed feed = null;

            lock (audiofeeds)
                if (!string.IsNullOrEmpty(feedName))
                {
                    feed = audiofeeds.TryGetOrDefault(feedName);
                }

            //give client to feed
            if (feed != null)
            {
                DebugEx.TraceLog("add new client");
                feed.AddClient(socket);
            }
            else
            {
                DebugEx.TraceLog("Client requested feed not found");
            }
        }