<b>Para levantar el servidor UDP + el Juego y poder jugar y escuchar:</b><br><span style="color: rgb(153, 0, 0);">            from UDPServer_thread import UDPServer_thread</span><br style="color: rgb(153, 0, 0);">
<span style="color: rgb(153, 0, 0);">            self.servidor = UDPServer_thread(&quot;Servidor&quot;, [])</span><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">            self.servidor.start()</span><br style="color: rgb(153, 0, 0);">

<br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">            from JAMtank import JAMtank</span><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">            self.jamtank = JAMtank()</span><br>

<br><b>El Servidor:</b><br><span style="color: rgb(0, 0, 153);">import threading</span><br style="color: rgb(0, 0, 153);"><span style="color: rgb(0, 0, 153);">from UDPServer import UDPServer</span><br style="color: rgb(153, 0, 0);">

<br style="color: rgb(153, 0, 0);"><b><span style="color: rgb(153, 0, 0);">class UDPServer_thread (threading.Thread):</span><br style="color: rgb(153, 0, 0);"><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">    def __init__(self, nombre, args):</span><br style="color: rgb(153, 0, 0);">

<br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">        threading.Thread.__init__(self)</span></b><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">        self.setName(nombre)</span><br style="color: rgb(153, 0, 0);">

<br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">        self.servidor = None</span><br style="color: rgb(153, 0, 0);"><br style="color: rgb(153, 0, 0);"><b><span style="color: rgb(153, 0, 0);">    def run (self):</span></b><br style="color: rgb(153, 0, 0);">

<span style="color: rgb(153, 0, 0);">        print &#39;%s Corriendo Adecuadamente&#39; % self.getName()</span><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">        self.servidor = UDPServer()</span><div class="im">
<br>
<br><span style="color: rgb(0, 0, 153);">import SocketServer</span><br style="color: rgb(0, 0, 153);"><span style="color: rgb(0, 0, 153);">import gobject</span><br style="color: rgb(0, 0, 153);"><br style="color: rgb(0, 0, 153);">

<span style="color: rgb(0, 0, 153);">import sys</span><br style="color: rgb(0, 0, 153);"><span style="color: rgb(0, 0, 153);"></span><br style="color: rgb(0, 0, 153);"></div><span style="color: rgb(0, 0, 153);">HOST, PORT = &quot;localhost&quot;, 9999</span><br style="color: rgb(153, 0, 0);">

<br style="color: rgb(153, 0, 0);"><b><span style="color: rgb(153, 0, 0);">class UDPServer():</span><br style="color: rgb(153, 0, 0);"><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">    def __init__(self):</span></b><div class="im">
<br style="color: rgb(153, 0, 0);">
<br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">        self.server = None</span><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">        self.get_server()</span><br style="color: rgb(153, 0, 0);">

<br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">   <b> def get_server(self):</b></span><br style="color: rgb(153, 0, 0);"><span style="color: rgb(51, 51, 255);">    # Levanta el Servidor</span><br style="color: rgb(51, 51, 255);">

<br style="color: rgb(51, 51, 255);"><span style="color: rgb(51, 51, 255);">        # <a href="http://docs.python.org/library/socketserver.html" target="_blank">http://docs.python.org/library/socketserver.html</a></span><br style="color: rgb(51, 51, 255);">

<span style="color: rgb(51, 51, 255);">        # 20.17.2. Server Objects</span><br style="color: rgb(153, 0, 0);"><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">        self.server = SocketServer.UDPServer((HOST, PORT), MyUDPHandler) <span style="color: rgb(51, 51, 255);"># Instancia de Servidor UDP con su controlador</span></span><br style="color: rgb(153, 0, 0);">

<span style="color: rgb(153, 0, 0);">        self.server.serve_forever()<span style="color: rgb(51, 51, 255);"> # handle_request() o serve_forever() para procesar uno o muchos pedidos.</span></span><br style="color: rgb(153, 0, 0);">

<br style="color: rgb(153, 0, 0);"><b><span style="color: rgb(153, 0, 0);">class MyUDPHandler(SocketServer.BaseRequestHandler):</span><br style="color: rgb(153, 0, 0);"><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">    def handle(self):</span></b><br style="color: rgb(153, 0, 0);">

<br style="color: rgb(153, 0, 0);"></div><span style="color: rgb(153, 0, 0);">        print &quot;Conexión establecida con: &quot; , self.client_address</span><div class="im"><br style="color: rgb(153, 0, 0);"><br style="color: rgb(153, 0, 0);">

<span style="color: rgb(153, 0, 0);">        data = self.request[0].strip()</span><br style="color: rgb(153, 0, 0);"></div><div class="im"><span style="color: rgb(153, 0, 0);">        socket = self.request[1]</span><br style="color: rgb(153, 0, 0);">

<br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">        socket.sendto(&quot;ok&quot;, self.client_address)</span><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">        </span><br style="color: rgb(153, 0, 0);">

<span style="color: rgb(153, 0, 0);">    <b>def setup(self):</b></span><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">    <span style="color: rgb(51, 51, 255);">#
 Llamado antes de la handle() para realizar acciones de inicialización 
necesaria. La implementación predeterminada no hace nada.</span></span><br style="color: rgb(153, 0, 0);">
</div><span style="color: rgb(153, 0, 0);">        print &quot;Configurando Conexión&quot;</span><div class="im"><br style="color: rgb(153, 0, 0);"><br style="color: rgb(153, 0, 0);"><span style="color: rgb(153, 0, 0);">    <b>def finish(self):</b></span><br style="color: rgb(153, 0, 0);">

<span style="color: rgb(153, 0, 0);">    <span style="color: rgb(51, 51, 255);"># Llamado despues de la handle() para realizar cualquier método de limpieza. La implementación predeterminada no hace nada.</span></span><br style="color: rgb(153, 0, 0);">

<span style="color: rgb(153, 0, 0);">        print &quot;Finalizando Solicitud&quot;</span><br style="color: rgb(153, 0, 0);"><br style="color: rgb(153, 0, 0);"><b><span style="color: rgb(153, 0, 0);">if __name__ == &quot;__main__&quot;:</span></b><br style="color: rgb(153, 0, 0);">

<span style="color: rgb(153, 0, 0);">    Servidor()</span></div>