Code: Select all
from Tkinter import *
import socket
from threading import *
def server():
port = 8081
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind((socket.gethostbyname(socket.gethostname()), int(port)))
#print socket.gethostbyname(socket.gethostname())
while True:
data, addr = s.recvfrom(1024)
textbox.insert(END, str(addr) + ": " + str(data))
def client():
port = 8081
host = str(entryhost.get())
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.sendto(str(textboxsend.get()), (host, int(port)))
textboxsend.delete(0, END)
root = Tk()
root.title("Simple P2P Chat")
mythread = Thread(target=server)
mythread.start()
frame = Frame(root)
entryhost = Entry(frame)
entryhost.pack(side=LEFT, fill=X, expand=True)
label = Label(frame, text="Enter IP or Domain")
label.pack(side=LEFT)
frame.pack(fill=X)
frame = Frame(root)
textbox = Text(frame)
textbox.pack(fill=BOTH, expand=True)
frame.pack(fill=BOTH, expand=True)
frame = Frame(root)
textboxsend = Entry(frame)
textboxsend.pack(side=LEFT, fill=X, expand=True)
label = Label(frame, text="Enter Your Message")
label.pack(side=LEFT)
frame.pack(fill=X)
frame = Frame(root)
button = Button(frame, text="Send Message", command=client)
button.pack(fill=X, expand=True)
frame.pack(fill=X)
root.mainloop()
Cheers Maboroshi