Ejemplo n.º 1
0
  def wait(self):
    self.local  = network.Connection()
    self.remote = network.Connection()
    
    self.local.whenHungUp(self.close)
    self.remote.whenHungUp(self.close)
    
    #trace("Waiting for incoming local connection")
    self.local.wait(whenHearCall=self.localIncoming, port=self.localPort)
    #trace("local connection connected")

    #trace("connecting to remote")
    self.remote.call(remoteServer, whenHearCall=self.remoteIncoming, port=self.remotePort)
Ejemplo n.º 2
0
 def __init__(self, pos, size=(50, 50)):
     self.nodes = [
         network.Node(arg[0], self, arg[1]) for arg in self.nodes_arguments
     ]
     self.pos = pos
     self.size = size
     self.world = None
     if pos is not None:
         for n in self.nodes:
             old_pos = n.pos
             n.pos = tuple(old_pos[i] + self.pos[i] for i in [0, 1])
     for c in self.con_indices:
         con = network.Connection(self.nodes[c[0]], self.nodes[c[1]], c[2])
         self.nodes[c[0]].connections.add(con)
Ejemplo n.º 3
0
    def __init__(self, isServer, name, ip, port, log):
        self.log = log
        self.config = Config()

        #set up world
        base.win.setClearColor(Vec4(0, 0, 0, 1))
        self.environ = loader.loadModel('resources/models/world')
        self.environ.reparentTo(render)
        self.environ.setPos(0, 0, 0)
        Character.startPosition = self.environ.find('**/start_point').getPos()

        #set up collisions
        Character.collisionTraverser = CollisionTraverser()
        if SHOW_COLLISIONS:
            Character.collisionTraverser.showCollisions(render)

        #set up networking
        mode = network.MODE_SERVER if isServer else network.MODE_CLIENT
        self.connection = network.Connection(mode,
                                             name,
                                             ip,
                                             port,
                                             log=self.log)
        self.sendDeltaT = 0

        #set up local client
        self.control = Controller(self.connection.localUser.char,
                                  self.config.controlDict)
        taskMgr.add(self.step, 'world-step')

        #set up characters
        if network.mode == network.MODE_SERVER:
            self.ai = []
            for i in range(1):
                c = Character(name='Zombie')
                self.ai.append(AIController(c))
            print 'INITIALIZING SERVER WITH', len(self.ai), 'ZOMBIES'
        else:
            self.controlList = []
Ejemplo n.º 4
0
if len(sys.argv) != 4:
    usage()


def get_line(conn):
    line = None
    while line is None:
        line = conn.recv()
    return line


server_ip = sys.argv[1]
server_port = int(sys.argv[2])
client_port = int(sys.argv[3])

conn_server = network.Connection()  # connection with server
conn_client = network.Connection()  # connection with client
dh_server = None
dh_client = None
crypto_protocol_server = None
crypto_protocol_client = None

try:
    conn_client.listen(client_port)
except:
    print "Unable to open port %d" % client_port
    sys.exit()

try:
    conn_server.connect(server_ip, server_port)
except:
Ejemplo n.º 5
0
import network
from diffie_hellman import DiffieHellman
from crypto_protocol import CryptoProtocol


def usage():
    print "Usage:"
    print "    Server: " + sys.argv[0] + " port_number"
    print "    Client: " + sys.argv[0] + " ip_address port_number"
    sys.exit()


if not (len(sys.argv) == 2 or len(sys.argv) == 3):
    usage()

conn = network.Connection()
dh = None


def get_line():
    line = None
    while line is None:
        line = conn.recv()
    return line


if len(sys.argv) == 2:  # server
    try:
        conn.listen(int(sys.argv[1]))
    except:
        print "Unable to open port %d" % int(sys.argv[1])