You are firstly overwriting your variable socket with the client socket after Accept is triggered, secondly you are putting the socket in the using scope which will call dispose on the closing }.
As mentioned above create a new variable from the socket.Accept(), should look something like:
while (true) { string message; using (var clientSocket = socket.Accept()) { //Get request var bufferRequest = new byte[256]; int bytes; do { bytes = clientSocket.Receive(bufferRequest, bufferRequest.Length, 0); } while (bytes > 0); message = new String(Encoding.UTF8.GetChars(bufferRequest)); } //ToDo: your LED logic here... }
Hope this helps
Michael