text: import socket
  import threading
  
  host = "127.0.0.1"
  port = 55555
  
  # Starting Server
  server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  server.bind((host, port))
  server.listen()
  
  # Lists For Clients and Their Nicknames
  clients = []
  nicknames = []
  
  # Sending Messages To All Connected Clients
  def broadcast(message):
      for client in clients:
          client.send(message)
          
  # Handling Messages From Clients
  def handle(client):
      while True:
          try:
              # Broadcasting Messages
              message = client.recv(1024)
              broadcast(message)
          except:
              # Removing And Closing Clients
              index = clients.index(client)
              clients.remove(client)
              client.close()
              nickname = nicknames[index]
              broadcast('{} saiu do chat!'.format(nickname).encode('ascii'))
              nicknames.remove(nickname)
              break
  
  # Receiving / Listening Function
  def receive():
      while True:
          # Accept Connection
          client, address = server.accept()
          print("Connectado com {}".format(str(address)))
  
          # Request And Store Nickname
          client.send('NICK'.encode('ascii'))
          nickname = client.recv(1024).decode('ascii')
          nicknames.append(nickname)
          clients.append(client)
  
          # Print And Broadcast Nickname
          print("Seu Nickname é {}".format(nickname))
          broadcast("{} Entrou!".format(nickname).encode('ascii'))
          client.send('Conectado ao server!'.encode('ascii'))
  
          # Start Handling Thread For Client
          thread = threading.Thread(target=handle, args=(client,))
          thread.start()
          
  receive()
  
  