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 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
| import socket
import sys
import tkinter
#-*- coding: utf-8 -*-
host = '91.167.82.3'
port = 4040
import socket, sys, threading
from tkinter import*
class ThreadReception(threading.Thread):
def __init__(self, conn):
threading.Thread.__init__(self)
self.connexion = conn # du socket de connexion
def run(self):
compteur=0
while True:
compteur=compteur+1
if compteur==5:
l.delete("1.0",END+"-4l")
compteur=0
message_recu =self.connexion.recv(1024)
l.insert(END,"Le serveur a écrit: "+message_recu.decode()+"\n")
v1.set("")
if message_recu.upper() =="FIN":
break
self.connexion.close()
class fe(threading.Thread):
def __init__(self, f):
threading.Thread.__init__(self)
self.fenetre = f
def run(self):
b=Button(self.fenetre,text = "FIN", command = self.send_FIN)
b.pack(side="bottom")
L1 = Label(self.fenetre, text="Votre message")
L1.pack( )
e=Entry(self.fenetre,textvariable=v1)
e.pack()
ba=Button(self.fenetre,text = "envoyer", command = self.send_many)
ba.pack()
L3 = Label(self.fenetre, text="")
L3.pack( )
self.fenetre.mainloop()
def send_many(self):
connexion.send(v1.get().encode())
l.insert(END,"Mon message: "+v1.get()+"\n")
def send_FIN(self):
connexion.send("FIN".encode())
self.fenetre.quit()
connexion = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
f=Tk()
l=Text(f)
l.pack(side="top")
try:
connexion.connect((host, port))
except socket.error:
print ("pas de connexion avec le serveur.")
sys.exit()
print ("Connexion avec le serveur.")
th_R = ThreadReception(connexion)
th_R.start()
v1=StringVar()
fen = fe(f)
fen.start() |
Partager