Socket and Tkinter Problem

T

Thomas Buschhardt

Hallo,

I have a problem with Tkinter and the module socket. In a console-window
everything works fine, but in a Tkinter-window I can no more use the
widgets. I found some other mails with this problem, but no solution (I
understand really :)

Here is my code:
-----------------------------------------------
import win32ui, dde, string, time, os, sys, shutil
from socket import *
from Tkinter import *
from tkFileDialog import *
from tkMessageBox import *
import win32com.client

def sockelserver():
while 1:
HOST = 'localhost'
PORT = 8578
s = socket(AF_INET, SOCK_STREAM)
s.bind((HOST,PORT))
s.listen(1)
log("wait...")
hs,addr=s.accept()
log("connected with: "+str(addr))
while 1:
data=hs.recv(1024)
if not data:break
if data=="'exit'":break
erg='hallo'
# erg=datawash(data)
log("reiceved: "+data)
hs.send(erg)
hs.close()
if data=="'exit'":break

def log(nachricht):
anzahl_lines=string.count(logtext.get(1.0,END),'\n')
if anzahl_lines>2000:logtext.delete(0.0,2.0)
logtext.insert(END,time.asctime()+'\t'+nachricht+'\n')
logtext.see(END)
root.update()

root = Tk()
midframe =Frame(root, borderwidth=2, relief=GROOVE)
Label(midframe,text='Logg-Fenster').pack(side=TOP)
scrollbar = Scrollbar(midframe, orient=VERTICAL)
scrollbar.pack(fill=Y, side=RIGHT)
logtext = Text(midframe)
logtext.pack()
logtext.config(yscrollcommand=scrollbar.set)
scrollbar.config(command=logtext.yview)
midframe.pack(padx=2, pady=2)
botframe = Frame(root)
botframe.pack(padx=2, pady=2)
Button(botframe, text='Start',
command=sockelserver).pack(side=LEFT,padx=2,pady=2)
Button(botframe, text='Exit',
command=root.destroy).pack(side=LEFT,padx=2,pady=2)
root.title('DDE-Server')
root.mainloop()

--------------------------------------
The function is easy. I want to start a server that waits for connection and
answer with an result. The communication-protocol is printed out in a
Text-window.

Please help me out :)
Cheers Thomas
 
T

Tonino

hi,

was wondering if you ever got a reply ?
Did you mannage to sort this out ?

I am wanting todo the same thing - just have a window that connects to
a port and displays the data it receives from that port in the window?
Thanks
Tonino
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,768
Messages
2,569,574
Members
45,051
Latest member
CarleyMcCr

Latest Threads

Top