finde leider im Netzt nichts und mein Tutor konnte mir auch nicht weiterhelfen. Ich möchte gerne Eingaben, die ich in einem GUI getätigt habe, an meinen TCP Server senden. Die Verbindung steht auch etc. Nur leider kommt immer diese Fehlermeldung : File "C:\Users\juliu\Desktop\RCD-Smart-Home-v-0.1-master\Project INF\Client TEST.py", line 73, in getInput
communicate(A)
File "C:\Users\juliu\Desktop\RCD-Smart-Home-v-0.1-master\Project INF\Client TEST.py", line 10, in communicate
client.send(data)
TypeError: a bytes-like object is required, not 'int'
Hier beide Programme
Code: Alles auswählen
import socket
server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
ip = socket.gethostbyname(socket.gethostname())
port = 3030
address = (ip,port)
server.bind(address)
server.listen(2)
print (" Suche Clients ",ip,":",port)
client,addr = server.accept()
print (" Verbindung mit Smart Home ",addr[0],":",addr[1])
while True:
data = client.recv(1024)
print (" Folgende Eingabe wurde getätigt : ",data," vom Client ")
print (" Verarbeite Eingabe ")
if(data==10):
client.send(b"Eingabe Erfolgreich")
print ("Verarbeitung erledigt.\n[*] Antwort gesendet")
if(data==15):
client.send(b"Eingabe Erfolgreich")
print ("Verarbeitung erledigt.\n[*] Antwort gesendet")
if(data==14):
client.send(b"Eingabe Erfolgreich")
print ("Verarbeitung erledigt.\n[*] Antwort gesendet")
if(data==15):
client.send(b"Eingabe Erfolgreich")
print ("Verarbeitung erledigt.\n[*] Antwort gesendet")
elif(data==b"disconnect"):
client.send(b"Goodbye")
client.close()
break
else:
client.send(b"Invalid data")
print ("Processing Invalid data.\n[*] Replay sent")
Code: Alles auswählen
import socket
import time
from tkinter import*
import random
import tkinter as tk
client=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
client.connect(('Eure IP zum Connecten, meine habe ich mal rausgemacht^^',3030))
def communicate(data):
client.send(data)
print (client.recv(1024))
return
#Window Construction
root=Tk()
root.geometry("400x200")
root.title("Light v.1")
root.resizable(False, False)
#Variable Section
BG = Frame(root,width=400,height=200)
BG.pack(side=TOP)
Panel1 = Frame(root,width=200,height=100)
Panel1.pack(side=LEFT)
Info=Label(BG,font=('arial',20,'bold'),text="Time Settings",fg="black",bd=10,anchor='w')
Info.grid(row=0,column=0)
#Clock Section
time_one = ''
Info_Time = Label(BG,font = ('arial',20,'bold'),fg = "green",bd = 10,anchor = 'w')
Info_Time.grid(row = 1,column = 0)
def update_Time():
global time_one
time_two = time.strftime('%H:%M:%S')
# Update String for Time
if time_two != time_one:
time_one = time_two
Info_Time.config(text = time_two)
#Calling every 200ms
Info_Time.after(200, update_Time)
update_Time()
#Entry Section
Display1=Entry(Panel1,font=('comic sans',10,'bold'))
Display1.grid(row=1,column=1)
Display2=Entry(Panel1,font=('arial',10,'bold'))
Display2.grid(row=1,column=2)
Display3=Entry(Panel1,font=('arial',10,'bold'))
Display3.grid(row=2,column=1)
Display4=Entry(Panel1,font=('arial',10,'bold'))
Display4.grid(row=2,column=2)
#Text Section
Text1=Label(Panel1,text="Von").grid(row=1,column=0)
Text2=Label(Panel1,text="Bis").grid(row=2,column=0)
Text_Min=Label(Panel1,text="Stunden").grid(row=0,column=1)
Text_Min=Label(Panel1,text="Minuten").grid(row=0,column=2)
#Button Section
def getInput():
A=int(Display1.get())
B=Display2.get()
C=Display3.get()
D=Display4.get()
print(A,B,C,D)
communicate(A)
time.sleep(5)
communicate(B)
time.sleep(5)
communicate(C)
time.sleep(5)
communicate(D)
global operator
operator=[A,B,C,D]
b1= Button(BG,text="Apply",command=getInput).grid(row=3)
root.mainloop()