Simple P2P Chat

Questions about programming languages and debugging
Post Reply
User avatar
maboroshi
Dr. Mab
Dr. Mab
Posts: 1624
Joined: 28 Aug 2005, 16:00
18

Simple P2P Chat

Post by maboroshi »

Here is a small P2P chat app I wrote as an experiment

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()
www.techshinobi.com/software/simplep2p.py

:D

Cheers Maboroshi
Last edited by maboroshi on 01 May 2008, 09:33, edited 1 time in total.

User avatar
Gogeta70
^_^
^_^
Posts: 3275
Joined: 25 Jun 2005, 16:00
18

Post by Gogeta70 »

Hmm, pretty cool.
¯\_(ツ)_/¯ It works on my machine...

Post Reply