1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
#-*-coding: Utf-8 -*-
## MODULES IMPORTER ##
import os, sys, socket
from tkinter import *
from tkinter.messagebox import *
class Application(Tk):
def connection(self, event):
self.HOST =self.ent.get()
self.sock =socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
self.sock.connect((self.HOST, 19111))
self.msgServeur_1 =self.sock.recv(1024).decode("Utf8")
showinfo("Connection",self.msgServeur_1)
self.lb.configure(text=u"Status: connecter")
except socket.error:
if askyesno("Error", u"Error socket. Verifier le host et Relancer?"):
self.lb.configure(text=u"Status: non connecter")
return self.connection
else:
sys.exit
def chat(self, event):
"""Evenement clavier"""
msgClient =self.msgClient
self.sock.send(msgClient.get().encode("Utf8"))
text=self.sock.recv(1024).decode("Utf8")
self.txt =self.can.create_text(75, 18,text=text, font ="Cambria 9", fill ="black")
"""Interface graphique"""
def __init__(self,):
Tk.__init__(self,)
self['bg']="green"
self.title("Client Socket")
self.iconbitmap('icon.ico')
#Label
self.lb =Label(self, bg="green", font ="Cambria 11")
self.lb.pack(padx=1, pady=1)
#Entry
self.ent =Entry(self, width =31, selectbackground ="royal blue",font ="Cambria 9")
self.ent.bind("<Return>", self.connection)
self.ent.pack(padx =1, pady =1)
#Canvas
self.can =Canvas(self, width =711, height =311, bg ="red")
self.can.pack(padx=3, pady =3)
#Entry
self.msgClient =Entry(self, width =71,selectbackground ="royal blue", font ="Cambria 10")
self.msgClient.bind("<Return>", self.chat)
self.msgClient.pack(padx =3, pady =3)
if __name__=='__main__':
app = Application()
app.mainloop() |
Partager