Программа подключается к другим программам с того же IP-адреса, что и компьютер, на котором расположен клиентский сервер - Python. - PullRequest
0 голосов
/ 11 апреля 2019

У меня проблема с программой, благодаря которой 2 человека могут отправлять сообщения друг другу.Это самый простой способ общения.Когда клиентский сервер прослушивает подключение к адаптированной программе, он может подключаться к другим различным программам с тем же IP-адресом компьютера, на котором расположена основная программа.К ним относятся такие сообщения:

Magda: GET / HTTP / 1.1 HOST 192.168.10.129:8080 User-Agent: avast!Антивирус Accept: * / * Accept-Encoding: deflate, gzip

К сожалению, я понятия не имею, о чем идет речь.Можно ли это исправить?

Вот код:

         import tkMessageBox as messagebox
         import os, webbrowser, urllib2
         from datetime import date
         import thread
         from ChatFns import *
         from playsound import playsound
         #from pynput.keyboard import Key , Controller


         global name_log
         name_log = ("")

        +conn = ''
        +
         def StartApp():

             """



        +
        +        """chat"""
        +        WindowTitle = ' Chat Serwis'
        +        s = socket(AF_INET, SOCK_STREAM)
        +        HOST = gethostname()
        +        PORT = 8080
        +        s.bind((HOST, PORT))
        +        global pom
        +        pom = 0
        +
        +        #---------------------------------------------------#
        +        #------------------ MOUSE EVENTS -------------------#
        +        #---------------------------------------------------#
        +        def ClickAction():
        +            try:
        +                
        +                #Write message to chat window
        +                EntryText = FilteredMessage(EntryBox.get("0.0",END))
        +                LoadMyEntry(ChatLog, EntryText)
        +
        +                #Scroll to the bottom of chat windows
        +                ChatLog.yview(END)
        +
        +                #Erace previous message in Entry Box
        +                EntryBox.delete("0.0",END)
        +
        +                if pom == 0:
        +                    #Send my mesage to all others
        +                    conn.sendall(EntryText.encode('utf-8'))
        +                else:
        +                    pass
        +            except:
        +                pass
        +
        +        #---------------------------------------------------#
        +        #----------------- KEYBOARD EVENTS -----------------#
        +        #---------------------------------------------------#
        +        def PressAction(event):
        +                EntryBox.config(state=NORMAL)
        +                ClickAction()
        +        def DisableEntry(event):
        +                EntryBox.config(state=DISABLED)
        +
        +        #Create a window
        +        #base = Tk()
        +        #base.title(WindowTitle)
        +        #base.geometry("400x500")
        +        #base.resizable(width=FALSE, height=FALSE)
        +
        +        #Create a Chat window
        +        ChatLog = Text(page, bd=0, bg="white", height="1", w 
                         idth="50", font="Arial 10",)
        +        ChatLog.insert(END, "Łączenie, proszę czekaj......\n")
        +        ChatLog.config(state=DISABLED)
        +
        +        #Bind a scrollbar to the Chat window
        +        scrollbar = Scrollbar(page, command=ChatLog.yview, cursor="arrow")
        +        ChatLog['yscrollcommand'] = scrollbar.set
        +
        +        #Create the Button to send message
        +        SendButton = Button(page, font=30, text="Wyślij", width="12", height=5,
        +                            bd=0, bg="#FFBF00", activebackground="#FACC2E",
        +                            command=ClickAction)
        +
        +        #Create the box to enter message
        +        EntryBox = Text(page, bd=0, bg="white",width="29", height="5", font="Arial 10")
        +        EntryBox.bind("<Return>", DisableEntry)
        +        EntryBox.bind("<KeyRelease-Return>", PressAction)
        +
        +        #Place all components on the screen
        +        scrollbar.place(x=1330,y=310, height=300)
        +        ChatLog.place(x=1100,y=310, height=300, width=230)
        +        EntryBox.place(x=1170, y=620, height=60, width=175)
        +        SendButton.place(x=1100, y=620, height=60,width=60)
        +
        +
        +        #---------------------------------------------------#
        +        #----------------CONNECTION MANAGEMENT--------------#
        +        #---------------------------------------------------#
        +
        +        def GetConnected():
        +            s.listen(1)
        +            global conn
        +            global pom
        +            conn, addr = s.accept()
        +            LoadConnectionInfo(ChatLog, 'Połączono z: ' + str(addr) 
                     + '\n')
        +            pom = 0
        +            
        +            while 1:
        +                try:
        +                    data = conn.recv(1024)
        +                    LoadOtherEntry(ChatLog, data)
        +                    if page.focus_get() == None:
        +                        playsound ('notif.wav')
        +                        #FlashMyWindow(WindowTitle)
        +                       # playsound('notif.wav')
        +                except:
        +                    LoadConnectionInfo(ChatLog, '\n [ Twój znajomy jest Offline ]\n Nie możesz wysłać wiadomości \n  ')
        +                    pom = 1
        +                    GetConnected()
        +
        +            conn.close()
        +            
        +        thread.start_new_thread(GetConnected,())
        +
        +                #base.mainloop()
        +
        +
        +
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...