def __init__(self, host2, port2):

        # assign value to shared data variable
        RangeFinderServer.brake = True
        RangeFinderServer.warning = []
        # server socket and port
        self.server_socket = socket.socket()
        self.server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR,
                                      1)
        self.server_socket.bind((host2, port2))
        self.server_socket.listen(0)
        self.connection, self.client_address = self.server_socket.accept()
        self.host_name = socket.gethostname()
        self.host_ip = socket.gethostbyname(self.host_name)

        # while VideoStreamServer.color is still empty
        while (VideoStreamServer.color == []):

            # if kill switch for threading is activated
            if (LatchingSwitch.tr_alive != True):

                # break from while loop
                break

            # rest for 0.1 second
            time.sleep(0.1)

        # execute server receiving
        self.receiving()
Beispiel #2
0
 def getIpAddress(self, iface): # getIpAddress('eth0')
     if platform.system == "Linux" and fcntl_module_exists == True:
         s = socket(AF_INET, SOCK_DGRAM)
         ipAddr  =  inet_ntoa(fcntl_module.ioctl(s.fileno(), 0x8915, struct.pack('256s', iface[:15]))[20:24])
         return str(ipAddr)
     else:   # on windows
         ipAddr = [ip for ip in socket.gethostbyname_ex(socket.gethostname())[2] if not ip.startswith("127.")][:1]
         return str(ipAddr)
Beispiel #3
0
def get_current_ip():
    import socket
    ip = (([
        ip for ip in socket.gethostbyname_ex(socket.gethostname())[2]
        if not ip.startswith("127.")
    ] or [[(s.connect(("8.8.8.8", 53)), s.getsockname()[0], s.close())
           for s in [socket.socket(socket.AF_INET, socket.SOCK_DGRAM)]][0][1]])
          + ["no IP found"])[0]
    return ip
    def __init__(self, host1, port1):

        # server socket and port
        self.server_socket = socket.socket()
        self.server_socket.bind((host1, port1))
        self.server_socket.listen(0)
        self.connection, self.client_address = self.server_socket.accept()
        self.connection = self.connection.makefile('rb')
        self.host_name = socket.gethostname()
        self.host_ip = socket.gethostbyname(self.host_name)
        # execute server receiving
        self.receiving()
    def __init__(self, host2, port2):

        # server socket and port
        self.server_socket = socket.socket()
        self.server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR,
                                      1)
        self.server_socket.bind((host2, port2))
        self.server_socket.listen(0)
        self.connection, self.client_address = self.server_socket.accept()
        self.host_name = socket.gethostname()
        self.host_ip = socket.gethostbyname(self.host_name)
        # execute server receiving
        self.receiving()
Beispiel #6
0
 def getIpAddress(self, iface):  # getIpAddress('eth0')
     if platform.system == "Linux" and fcntl_module_exists == True:
         s = socket(AF_INET, SOCK_DGRAM)
         ipAddr = inet_ntoa(
             fcntl_module.ioctl(s.fileno(), 0x8915,
                                struct.pack('256s', iface[:15]))[20:24])
         return str(ipAddr)
     else:  # on windows
         ipAddr = [
             ip for ip in socket.gethostbyname_ex(socket.gethostname())[2]
             if not ip.startswith("127.")
         ][:1]
         return str(ipAddr)
Beispiel #7
0
 def __init__(self, name = "1", host = None, port = None, clientHandlerFunction = None):
     Thread.__init__(self)
     assert(host is None or isinstance(name, str))
     assert(isinstance(host, str))
     assert(isinstance(port, int))
     assert(clientHandlerFunction is not None)
     gLog.print("Message server {0}: initializing at ({1}, {2})".format(name, host, port))
     self.name = name
     if host is None:
         host = socket.gethostname()
     self.host = host
     self.port = port
     self.clientHandlerFunction = clientHandlerFunction
     self.serverSocket = None
Beispiel #8
0
    def __init__(self, host2, port2):

        # assign value to shared data variable
        RangeFinderServer.brake = True
        # server socket and port
        self.server_socket = socket.socket()
        self.server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        self.server_socket.bind((host2, port2))
        self.server_socket.listen(0)
        self.connection, self.client_address = self.server_socket.accept()
        self.host_name = socket.gethostname()
        self.host_ip = socket.gethostbyname(self.host_name)
        # execute server receiving
        self.receiving()
    def __init__(self, host1, port1):

        # assign value to shared data variable
        VideoStreamServer.color = []
        VideoStreamServer.grayscale = []
        # server socket and port
        self.server_socket = socket.socket()
        self.server_socket.bind((host1, port1))
        self.server_socket.listen(0)
        self.connection, self.client_address = self.server_socket.accept()
        self.connection = self.connection.makefile('rb')
        self.host_name = socket.gethostname()
        self.host_ip = socket.gethostbyname(self.host_name)
        # execute server receiving
        self.receiving()
    def __init__(self, host1, port1):

        # server socket and port
        self.server_socket = socket.socket()
        self.server_socket.bind((host1, port1))
        self.server_socket.listen(0)
        self.connection, self.client_address = self.server_socket.accept()
        self.connection = self.connection.makefile('rb')
        self.host_name = socket.gethostname()
        self.host_ip = socket.gethostbyname(self.host_name)
        # maximum red color range in ycrcb colouring
        self.upper_red = np.array(apv.upred)
        # minimum red color range in ycrcb colouring
        self.lower_red = np.array(apv.lowred)
        # execute server receiving
        self.receiving()
Beispiel #11
0
def connect(url):
    """Connect to UNIX or TCP socket.

        :param url: can be either tcp://<host>:port or ipc://<path>
    """
    url = urlparse(url)
    if url.scheme == 'tcp':
        sock = socket()
        netloc = tuple(url.netloc.rsplit(':', 1))
        hostname = socket.gethostname()
    elif url.scheme == 'ipc':
        sock = socket(AF_UNIX)
        netloc = url.path
        hostname = 'localhost'
    else:
        raise ValueError('unknown socket type: %s' % url.scheme)

    sock.connect(netloc)
    return sock, hostname
Beispiel #12
0
def connect(url):
    """Connect to UNIX or TCP socket.

        url can be either tcp://<host>:port or ipc://<path>
    """
    url = urlparse(url)
    if url.scheme == 'tcp':
        sock = socket()
        netloc = tuple(url.netloc.rsplit(':', 1))
        hostname = socket.gethostname()
    elif url.scheme == 'ipc':
        sock = socket(AF_UNIX)
        netloc = url.path
        hostname = 'localhost'
    else:
        raise ValueError('unknown socket type: %s' % url.scheme)

    sock.connect(netloc)
    return sock, hostname
Beispiel #13
0
    def __init__(self, host4, port4):

        # futaba controller channel 1
        self.left = apv.left
        self.right = apv.right
        self.center = apv.center
        # futaba controller channel 3
        self.backward = apv.mbackward
        self.forward = apv.mforward
        self.stop = apv.stop
        # server socket
        self.server_socket = socket.socket()
        self.server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR,
                                      1)
        self.server_socket.bind((host4, port4))
        self.server_socket.listen(0)
        self.connection, self.client_address = self.server_socket.accept()
        self.host_name = socket.gethostname()
        self.host_ip = socket.gethostbyname(self.host_name)
        # execute server receiving
        self.receiving()
Beispiel #14
0
    def startBotVisionClient(self, server_ip):
        import socket  # import needs to be here b/c same name as "from socket ..." on line 0
        print("Entered the startBotVisionClient thread")
        global vs

        # initialize the ImageSender object with the socket address of server
        sender = imagezmq.ImageSender(
            connect_to="tcp://{}:5555".format(server_ip))

        # get the host name, initialize the video stream, and allow the
        # camera sensor to warmup
        rpiName = socket.gethostname()
        vs = VideoStream(usePiCamera=True, resolution=(240, 144), framerate=25)
        vs.start()
        # vs = VideoStream(src=0).start()
        time.sleep(2.0)

        while True:
            # read the frame from the camera and send it to the server
            frame = vs.read()
            sender.send_image(rpiName, frame)
Beispiel #15
0
from socket import AF_INET, socket, SOCK_STREAM
from threading import Thread, Lock

HOST = ''
PORT = 5500
BUFSIZ = 1024
ADDR = (HOST, PORT)
SERVER = socket(AF_INET, SOCK_STREAM)
SERVER.bind(ADDR)
HOST_NAME = socket.gethostname()
HOST_IP = socket.gethostbyname(HOST_NAME)


def broadcast(msg):
    pass


def exception_quit():
    pass


def connection_handler(client_socket):
    first_message = 'Welcome to the chat' + 'You can type {quit} to exit' + 'Now, please type in your name'
    client_socket.send(bytes(first_message, "utf8"))
    name = client_socket.recv(BUFSIZ).decode("utf8")
    sec_message = f"{name} has joined the chat. Welcome!"
    broadcast(sec_message)
    no_error = True
    while no_error:
        try:
            msg = client_socket.recv(BUFSIZ).decode("utf8")
def all_sync(event=0):
    def get_myclip():
        global old_clip
        server_clip = pyperclip.paste()
        if old_clip != server_clip:
            old_clip = server_clip
            return server_clip, True
        else:
            return server_clip, False

    def add_user(work_mode, timeout=1):
        global user_list
        sock.settimeout(timeout)
        try:
            conn, addr = sock.accept()
        except:
            return
        name = pickle.loads(conn.recv(1024))
        conn.send(pickle.dumps(work_mode))
        user_list[name] = (conn, addr)
        print(name, "connected from ip", addr[0])

    def all_sync():
        global user_list, clip, clip_user, clip_ch_flag
        global old_clip
        server_clip, ch_flag = get_myclip()
        if ch_flag:
            print("clip changed to server clip")
            for j in user_list:
                user_list[j][0].send(pickle.dumps([server_clip, "clip"]))
            return
        if clip_ch_flag:
            clip_ch_flag = False
            print("clip changed to ", clip_user, " clip")
            for j in user_list:
                user_list[j][0].send(pickle.dumps([clip, "clip"]))

    def port_bind(event):
        port = entry_port.get()
        if not port.isdigit() or int(port) in range(0, 1024):
            entry_port.delete(0, END)
            entry_port.insert(0, "Incorrect port")
            entry_port.after(1000, lambda: entry_port.delete(0, END))
            return
        entry_port.destroy()
        port_label_value = Label(text=port, bg="#33FFFF", fg="white")
        port_label_value.place(x=55, y=40)
        start_button["text"] = "Exit"
        start_button.bind("<Button-1>", func=lambda x: exit())
        status_label["text"] = "Starting server"
        status_label["bg"] = "orange"
        sock.bind(('', int(port)))
        sock.listen(10)
        work_thread.start()
        status_label["text"] = "Server started"
        status_label["bg"] = "green"

    def thread_cycle(event=0):
        global work_mode
        while True:
            add_user(work_mode)
            recive_server_controller()
            all_sync()
            sleep(1)

    work_thread = Thread(target=thread_cycle)
    root.destroy()
    window = Tk()
    window.resizable(False, False)
    window.geometry("200x220")
    window.title("Server sync mode | server")

    entry_port = Entry(width=15)
    port_label = Label(text="Port")
    start_button = Button(window, text="Start", width=17)
    status_label = Label(text="Server stopped", bg="red", height=1, width=20)
    nick_name_label = Label(text="Your nickname is Server",
                            bg="#00CCFF",
                            fg="white",
                            height=1,
                            width=20)
    ip_label = Label(text=("Your IP is {}".format(
        socket.gethostbyname(socket.gethostname()))),
                     bg="#00CCFF",
                     fg="white",
                     height=1,
                     width=20)

    ip_label.place(x=25, y=160)
    nick_name_label.place(x=20, y=10)
    status_label.place(x=25, y=180)
    port_label.place(x=25, y=40)
    entry_port.place(x=55, y=40)
    start_button.place(x=35, y=70)

    start_button.bind("<Button-1>", func=port_bind)

    window.mainloop()
def A_t_a_mode(event=0):
    def add_user(work_mode, timeout=1):
        global user_list
        sock.settimeout(timeout)
        try:
            conn, addr = sock.accept()
        except:
            return
        name = pickle.loads(conn.recv(1024))
        conn.send(pickle.dumps(work_mode))
        user_list[name] = (conn, addr)
        lbox.insert(0, name)

    def all_to_all_send_recv():
        global clip, clip_ch_flag, user_list, request, request_ch_flag, clip_user, request_user
        if request_ch_flag:
            request_ch_flag = False
            if request != "user_list_get":
                if request == "server":
                    user_list[request_user][0].send(
                        pickle.dumps([pyperclip.paste(), "clip"]))
                    return

                user_list[request][0].send(
                    pickle.dumps(["get_clip", "request"]))
                while True:
                    if clip_ch_flag:
                        clip_ch_flag = False
                        user_list[request_user][0].send(
                            pickle.dumps([clip, "clip"]))
                        break
            else:
                user_list[request_user][0].send(
                    pickle.dumps([[i for i in user_list] + ["server"],
                                  "user_list"]))
                print("user list send")

    def server_get_clip(event):
        global clip, clip_ch_flag, user_list, request, request_ch_flag, clip_user, request_user
        try:
            name = lbox.get(lbox.curselection())
        except:
            return
        print(user_list)
        user_list[name][0].send(pickle.dumps(["get_clip", "request"]))
        while True:
            if clip_ch_flag:
                clip_ch_flag = False
                pyperclip.copy(clip)
                print("clip pasted to clip", name)
                break
            sleep(0.1)

    def entry_bind(event):
        port = entry_port.get()
        if not port.isdigit() or int(port) in range(0, 1024):
            entry_port.delete(0, END)
            entry_port.insert(0, "Incorrect port")
            entry_port.after(1000, lambda: entry_port.delete(0, END))
            return
        entry_port.destroy()
        port_label_value = Label(text=port, bg="#33FFFF", fg="white")
        port_label_value.place(x=55, y=40)
        start_button["text"] = "Exit"
        start_button.bind("<Button-1>", func=lambda x: exit())
        status_label["text"] = "Starting server"
        status_label["bg"] = "orange"
        sock.bind(('', int(port)))
        sock.listen(10)
        work_thread.start()
        status_label["text"] = "Server started"
        status_label["bg"] = "green"

    def thread_cycle(event=0):
        global work_mode
        while True:
            add_user(work_mode)
            recive_server_controller()
            all_to_all_send_recv()
            sleep(1)

    work_thread = Thread(target=thread_cycle)
    work_thread.daemon = True
    root.destroy()
    window = Tk()
    window.resizable(False, False)
    window.geometry("400x220")
    window.title("A-t-A mode | server")

    get_clip_button = Button(window, text="Get Clipboard")
    lbox = Listbox(width=20, height=10)
    entry_port = Entry(width=15)
    port_label = Label(text="Port")
    start_button = Button(window, text="Start", width=17)
    status_label = Label(text="Server stopped", bg="red", height=1, width=20)
    nick_name_label = Label(text="Your nickname is Server",
                            bg="#00CCFF",
                            fg="white",
                            height=1,
                            width=20)
    ip_label = Label(text=("Your IP is {}".format(
        socket.gethostbyname(socket.gethostname()))),
                     bg="#00CCFF",
                     fg="white",
                     height=1,
                     width=20)

    ip_label.place(x=25, y=160)
    nick_name_label.place(x=25, y=10)
    status_label.place(x=25, y=180)
    port_label.place(x=25, y=40)
    entry_port.place(x=55, y=40)
    start_button.place(x=25, y=70)
    lbox.place(x=250, y=10)
    get_clip_button.place(x=270, y=180)

    start_button.bind("<Button-1>", func=entry_bind)
    get_clip_button.bind("<Button-1>", func=server_get_clip)

    window.mainloop()
Beispiel #18
0
def get_current_ip():
    import socket
    ip = (([ip for ip in socket.gethostbyname_ex(socket.gethostname())[2] if not ip.startswith("127.")] or [[(s.connect(("8.8.8.8", 53)), s.getsockname()[0], s.close()) for s in [socket.socket(socket.AF_INET, socket.SOCK_DGRAM)]][0][1]]) + ["no IP found"])[0]
    return ip
                              height=55,
                              width=80,
                              yscrollcommand=scrollbar.set)
questions_list.tag_config('warning', background="yellow", foreground="red")
scrollbar.pack(side=tkinter.RIGHT, fill=tkinter.Y)
questions_list.pack(side=tkinter.LEFT, fill=tkinter.BOTH)
questions_list.pack()
messages_frame.pack()

entry_field = tkinter.Entry(top, textvariable=my_msg)
entry_field.bind("<Return>", send)
entry_field.pack()
send_button = tkinter.Button(top, text="Send", command=send)
send_button.pack()

top.protocol("WM_DELETE_WINDOW", on_closing)

#-- sockets part----

buffer_size = 1024
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
HOST = socket.gethostname()
PORT = 33000
ADDR = (HOST, PORT)

client_socket.connect(ADDR)

receive_thread = Thread(target=receive)
receive_thread.start()
tkinter.mainloop()  # Starts GUI execution.