Question: My code is not working may you help me please , in comments is the old version i tried to make it pretier but is
My code is not working may you help me please in comments is the old version i tried to make it pretier but is not working
client:
import socket
import threading
import sys
import tkinter
import tkinter.scrolledtext
from tkinter import simpledialog
def mainusername hostname, port:
client socket.socketsocketAFINET, socket.SOCKSTREAM
try:
client.connecthostname port
except Exception as e:
printfCould not connect: e
return
def receivemessages:
while True:
try:
message client.recvdecode
if message:
printmessage
else:
break
except:
printDisconnected from server."
client.close
break
def write:
while True:
try:
message input
if message exit:
client.sendexitencode
break
else:
client.sendmessageencode
except:
printAn error occurred."
client.close
break
client.sendusernameencode
threading.Threadtargetreceivemessagesstart
threading.Threadtargetwritestart
if namemain:
if lensysargv:
printUsage: python client.py username hostname port"
else:
mainsysargv sysargv intsysargv
class client:
def initself username, hostname port:
self.sock socket.socketsocketAFINET, socket.SOCKSTREAM
self.sock.connecthostname port
msg tkinter.Tk
msgwithdraw
self.nickname username
self.guidone False
self.running True
guithread threading.Threadtargetself.guiloop
receivethread threading.Threadtargetself.receive
guithread.start
receivethread.start
def guiloopself:
self.win tkinter.Tk
self.win.configurebg"ligthgray"
self.chatlabel tkinter.Labelselfwin, text"Chat:", bg"lightgray"
self.chatlabel.configfontTimes new roman",
self.chatlabel.packpadx pady
self.textarea tkinter.scrolledtext.ScrolledTextselfwin
self.textarea.packpadx pady
self.textarea.configstate"disabled"
self.msglabel tkinter.Labelselfwin, text"Message", bg"lightgray"
self.msglabel.configfontTimes new roman",
self.msglabel.packpadx pady
self.inputarea tkinter.Textselfwin, height
self.inputarea.packpadx pady
self.sendbutton tkinter.Buttonselfwin, text"Send", command self.write
self.sendbutton.configfontTimes new roman",
self.sendbutton.packpadx pady
self.guidone True
self.win.protocolWMDELETEWINDOW", self.stop
self.win.mainloop
def writeself:
message fselfusername: selfinputarea.get 'end'
self.sock.sendmessageencode
self.inputarea.delete 'end'
def stopself:
self.running False
self.win.destroy
self.sock.close
exit
def receiveself:
while self.running:
try:
message self.scok.recvdecode
if message "Username:":
self.socekt.sendselfusername.encode
else:
if self.guidone:
self.textarea.configstate"normal"
self.textarea.insertend message
self.textarea.yviewend
self.textarea.configstate"disabled"
except ConnectionAbortedError:
break
except:
printError
self.sock.close
break
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
