Example #1
0
def multiplayer(server):
    events = []

    client = socket_connection.client(server)

    players = client.ask(repr(["get_players", "",
                               ""])).replace("\n", "").replace("\r",
                                                               "").split(",")
    #M# Menü unterschiedlich gestalten jenachdem wie viele Spieler es gibt
    # und ob das erstellen neuer Spieler erlaubt ist
    playerlist = ([("Select Player", 1,
                    (127, 0, 255))] + [(player, )
                                       for player in players] + [("Back", )])
    i_player = Display.menu(playerlist)[0]
    if i_player == -1:
        return -1
    if i_player == len(playerlist) - 1:
        return 0
    playername = playerlist[i_player][0]

    password = ""

    random_key = client.ask(repr(["random_key", playername, ""]))
    random_key = random_key.replace("\n", "").replace("\r", "")
    combined_key = password + random_key
    hashed_combined_key = hashlib.md5(combined_key).hexdigest()
    reply = client.ask(repr(["login", playername, hashed_combined_key]))
    print reply
    if reply.startswith("access denied"):
        return

    #Display = IOlib.Display(datadir,playername,controlsfile)

    t = time.time()
    while True:
        objectlist = Display.get_required_objects()
        # client -> server: events, playername, objectlist
        request = repr([events, playername, objectlist])
        answer = client.ask(request)
        displaydata = ast.literal_eval(answer)
        # server -> client: displaydata
        if "QUIT" in [event[0] for event in events]:
            break  #muss nach Datenübertragung kommen, damit server quit event noch bekommt
        events = Display.show(displaydata, playername)
        while time.time() - t < 0.0625:
            time.sleep(0.001)
        t += 0.0625

    return 0
Example #2
0
def multiplayer(server):
    events = []

    client = socket_connection.client(server)

    players = client.ask(repr(["get_players","",""])).replace("\n","").replace("\r","").split(",")
    #M# Menü unterschiedlich gestalten jenachdem wie viele Spieler es gibt
    # und ob das erstellen neuer Spieler erlaubt ist
    playerlist = ([("Select Player",1,(127,0,255))]+
                  [(player,) for player in players]+
                  [("Back",)])
    i_player = Display.menu(playerlist)[0]
    if i_player == -1:
        return -1
    if i_player == len(playerlist)-1:
        return 0
    playername = playerlist[i_player][0]

    password = ""

    random_key = client.ask(repr(["random_key",playername,""]))
    random_key = random_key.replace("\n","").replace("\r","")
    combined_key = password+random_key
    hashed_combined_key = hashlib.md5(combined_key).hexdigest()
    reply = client.ask(repr(["login",playername,hashed_combined_key]))
    print reply
    if reply.startswith("access denied"):
        return

    #Display = IOlib.Display(datadir,playername,controlsfile)

    t = time.time()
    while True:
        objectlist = Display.get_required_objects()
        # client -> server: events, playername, objectlist
        request = repr([events,playername,objectlist])
        answer = client.ask(request)
        displaydata = ast.literal_eval(answer)
        # server -> client: displaydata
        if "QUIT" in [event[0] for event in events]:
            break #muss nach Datenübertragung kommen, damit server quit event noch bekommt
        events = Display.show(displaydata,playername)
        while time.time()-t<0.0625:
            time.sleep(0.001)
        t+=0.0625

    return 0
import sys
sys.path.insert(0, "..")

import socket_connection
reload(socket_connection)

servers = socket_connection.search_servers()

if servers != []:
    for i in range(len(servers)):
        print i, servers[i]
    n = int(raw_input("which one?"))
    server = servers[n][0]
    print server
    client = socket_connection.client(server)

    text = ""
    while text not in ("quit", "q", "exit"):
        text = raw_input("text: ")
        print client.ask(text)
import sys

sys.path.insert(0, "..")

import socket_connection

reload(socket_connection)

servers = socket_connection.search_servers()

if servers != []:
    for i in range(len(servers)):
        print i, servers[i]
    n = int(raw_input("which one?"))
    server = servers[n][0]
    print server
    client = socket_connection.client(server)

    text = ""
    while text not in ("quit", "q", "exit"):
        text = raw_input("text: ")
        print client.ask(text)