Example #1
0
    def __init__(self):
        """
        Constructor
        """

        super().__init__()
        self.current_panel = None
        self.is_alive = True

        self.server = Server(max_clients_connected=1)
        self.client = None

        self.preference = Preferences.Preferences(default_preferences=Preferences.DEFAULT_PREFERENCES)
        self.translation = Translation.Translation(self.preference)
        self.image_getter = ImageGetter.ImageGetter(self.translation)
        # Configure
        self.title(self.translation.get_translation("connect_four"))
        # noinspection SpellCheckingInspection
        self.iconphoto(True, self.image_getter.logo_image)  # set the logo
        self.geometry("{}x{}".format(WIDTH, HEIGHT))
        self.minsize(MIN_WIDTH, MIN_HEIGHT)
        self.protocol("WM_DELETE_WINDOW", self.destroy)
Example #2
0
    for i in range(1000):
        rtt100.append(100)
        rtt150.append(150)



    #+++++++++++++++++++++Chunks++++++++++++++++++++++++++++++++++++++++++

    for size in chunksizes:
        clientq = queue.Queue()
        serverq = queue.Queue()
        ackq = queue.Queue()

        #++++++++++++++++++++++Sequential++++++++++++++++++++++++++++++

        s = Server(size, ackq, clientq, serverq, "receive" , "sequential" , rtt100, 10)
        c = Client(size, ackq, clientq, serverq, "send", "sequential")

        s.setName("Server")
        c.setName("Client")
        s.start()
        c.start()
        c.join()

        while True:
            if not c.is_alive():
                delay = s.get_delay()
                chunkresult['value'][:,0][np.logical_and(chunkresult['scheme'] == 'seq', chunkresult['chunksize'] == size)] = delay
                s.join()

                break
Example #3
0
    def server_start_stop_command(self):
        """
        Start the server
        :return: None
        """
        if self.ui.server.server_is_on:
            if not self.player_2_is_connected or tkinter.messagebox.askquestion(
                    self.ui.translation.get_translation("server_dialog_server_stop_title"),
                    self.ui.translation.get_translation("server_dialog_server_stop_message")
            ) == tkinter.messagebox.YES:
                if self.ui.server.stop_server():
                    self.server_port_spin_box.configure(state=tkinter.tix.NORMAL, increment=1)
                    self.server_start_stop.configure(
                        text=self.ui.translation.get_translation("server_configuration_start")
                    )

                    self.server_state_label.configure(
                        text=self.ui.translation.get_translation("server_state_stopped"),
                        fg="#ee2e31"
                    )
        else:
            try:
                port = int(self.server_port_spin_box.get())
                if port < 1 or port > 65535:
                    raise ValueError
            except ValueError:
                tkinter.messagebox.showerror(
                    self.ui.translation.get_translation("server_configuration_dialog_port_error_title"),
                    self.ui.translation.get_translation("server_configuration_dialog_port_error_message")
                )

            else:
                if port < GAME_PORT_MIN or port > GAME_PORT_MAX:
                    if not tkinter.messagebox.askokcancel(
                            self.ui.translation.get_translation("server_configuration_dialog_port_warning_title"),
                            self.ui.translation.get_translation("server_configuration_dialog_port_warning_message")
                    ):
                        return
                self.ui.server = Server(
                    port=port, max_clients_connected=1,
                    on_message_function=self.server_on_message,
                    on_client_connect_function=self.server_on_client_connect_function,
                    on_client_disconnect_function=self.server_on_client_disconnect_function
                )
                result = self.ui.server.start_server()
                if result[0]:
                    self.server_port_spin_box.configure(state="readonly", increment=0)
                    self.server_start_stop.configure(
                        text=self.ui.translation.get_translation("server_configuration_stop")
                    )

                    self.server_state_label.configure(
                        text=self.ui.translation.get_translation("server_state_started"), fg="#78bc61"
                    )
                else:
                    error_name = errno.errorcode[result[1]]
                    if self.ui.translation.translation_exist(SERVER_ERROR_DIALOG_KEY_FORMAT.format(error_name)):
                        tkinter.messagebox.showerror(
                            self.ui.translation.get_translation("server_start_error_dialog_title")
                                .format(result[1]),
                            self.ui.translation.get_translation(SERVER_ERROR_DIALOG_KEY_FORMAT.format(error_name))
                        )
                    else:
                        tkinter.messagebox.showerror(
                            self.ui.translation.get_translation("server_start_error_dialog_title")
                                .format(result[1]),
                            self.ui.translation.get_translation("server_start_error_unknown_dialog_message")
                                .format(result[1], error_name, result[2].strerror)
                        )