파이썬에서 간단한 "채팅"클라이언트를 만들려고합니다. 나는 기초와 모든 것을 가지고있다. 그러나 나는 실을 꿰기를 전혀 할 수 없다. 이것은 아직 진행중인 작업이므로 모든 코드가 아직 존재하지는 않습니다. 그리고 제가 알기는하지만 전반적인 제안이 있으면 크게 감사 할 것입니다. 나는 내가 receivingloop 방법을 사용하여 클래스에 의해 만하면 자기 요소하지만 자기 인수를 말을 오해하지 않아요,이 방법은 클래스에없는 경우문제 해결 Python 스레딩 루프
from Tkinter import *
import time
import socket
import thread
import threading
HOST = 'localhost'
PORT = 5454
fromserver = ''
data = ''
#Declares socket information
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
s.bind((HOST,PORT))
#Loop for receiving
def receivingloop():
global fromserver
while 1:
fromserver = s.recv(30)
time.sleep(.5)
class ChatClient:
def __init__(self, master):
#Use Global fromserver
global fromserver
global data
#Create both frames
top_frame = Frame(master)
bot_frame = Frame(master)
#Create and pack the Buttons
self.send_but = Button(bot_frame, \
text='Send',\
command=self.sending)
self.quit_but = Button(bot_frame, \
text='Quit', \
command=client_window.destroy)
self.send_but.pack(side=LEFT)
self.quit_but.pack(side=LEFT)
#Create and pack label
self.received_lab = Label(top_frame,\
text=(fromserver))
self.received_lab.pack()
self.sent_lab = Label(top_frame,\
text='Message Sent: ' +data)
self.sent_lab.pack()
self.sending_entry = Entry(top_frame, \
width=10)
self.sending_entry.pack()
#Pack Frames
top_frame.pack()
bot_frame.pack()
#Function to send stuff
def sending(self):
global data
s.sendto(data,(HOST,PORT))
data = str(self.sending_entry.get())
print data
#Start the thread
l1 = threading.Thread(target=receivingloop)
l1.start()
client_window = Tk()
chat_client = ChatClient(client_window)
client_window.mainloop()
어떤 오류가 발생합니까? –