socket nimmt immer nur eine Message von jedem Programmdurchlauf entgegen
Verfasst: Sonntag 24. April 2022, 13:55
Also hallo erstmal.
Ich habe gerade mit der Progammierung von Sockets angefangen und es dank einiger Tutorials auch geschafft einen Server und einen Clienten (auf dem selben Gerät) zu bauen. Das Problem ist, dass ich für jede Message mein Clientprogramm neustarten muss und nicht einfach mehrere Nachrichten in einem Durchlauf abschicken kann. ist das normal oder mache ich etwas falsch.
hier meine Codes:
der server:
der client:
Ich habe gerade mit der Progammierung von Sockets angefangen und es dank einiger Tutorials auch geschafft einen Server und einen Clienten (auf dem selben Gerät) zu bauen. Das Problem ist, dass ich für jede Message mein Clientprogramm neustarten muss und nicht einfach mehrere Nachrichten in einem Durchlauf abschicken kann. ist das normal oder mache ich etwas falsch.
hier meine Codes:
der server:
Code: Alles auswählen
import socket
from time import sleep
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
port=2345
s.bind(('*IP-Adresse*',port))
s.listen(2)
try:
while True:
(client_socket, addr) = s.accept()
msg=client_socket.recv(1024)
sleep(3)
msg_rec=client_socket.send(bytes('recall','utf-8'))
print(str(msg,'utf-8'))
if str(msg,'utf-8')=='+stop+':
break
finally:
s.close()
Code: Alles auswählen
import socket
from time import sleep
def msg_send():
message='annything'
cs.send(bytes(message,"utf-8"))
msg=cs.recv(1024)
print(str(msg,'utf-8'))
cs=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
port=2345
cs.connect(('*IP-Adresse*',port))
try:
msg_send()
sleep(2)
msg_send()
finally:
cs.shutdown(1)
cs.close()