tkinterとsocketの同時進行
Posted: 2018年4月02日(月) 16:21
pythonのtkinterとソケットを使いチャットを作ってみようと思うんですが以下のコードで躓いてしまいました。繰り返しチャットができるようにしたいのですがいい案ありますかね?
from tkinter import *
from tkinter import ttk
import socket
#ソケット
host ="127.0.0.1"
port = 9999
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind((host, port))
server.listen(10)
#ボタンやラベルを載せる枠組み
class ClacApp(ttk.Frame):
def __init__(self,master=None):
super().__init__(master)
self.create_widgets()
def create_widgets(self):
static = ttk.Label(text=u'メッセージを送る')
static.place(x=50, y=80)
static2 = ttk.Label(text=u'メッセージを受け取る')
static2.place(x=50,y=140)
self.EditBox = ttk.Entry(width=40)
self.EditBox.place(x=50, y=100)
button = ttk.Button(text=u'送信')
button.place(x=300, y=98)
button.bind('<Button-1>', self.push)
def push(self,event):
value = self.EditBox.get()
sock, addr = server.accept()
sock.sendall(value.encode())
def main():
root = Tk()
root.title("メッセージ")
root.geometry("400x300")
ClacApp(root)
root.mainloop()
if __name__ == '__main__':
main()