Ich habe mal wieder ein kleines Problem .. Ich komme leider nicht mehr drum rum ohne threading zu Arbeiten. Ich benötig nun einen Server-Programm, welches Daten senden, empfangen soll. Dies muss leider gleichzeitig passieren, da ein andere Klasse Daten mit der Datenbank händelt.
Sowas in der Art ^^
Ich schaffe es nicht, das ich den Server so laufen lasse, dass er wirklich vom Hauptthread getrennt ist. Bin auf mehrer Tutorials gestoßen, aber wirklich erfolg hatte ich damit nicht. Ich denke so sieht man schnell was ich im eigentliche sinne meine:
Code: Alles auswählen
import socket
from time import sleep
from threading import Thread
class Server_thread(Thread):
def __init__(self):
Thread.__init__(self)
self.daemon = True
self.hold_session = True
self.data = None
print("starte Server")
_sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
_sock.bind(("", 18))
_sock.listen(1)
while self.hold_session:
connection, self.client_address = _sock.accept()
print(self.hold_session)
print("Session mit: ", self.client_address)
self._recive(connection)
connection.close()
def _recive(self, connection):
while True:
self.data = connection.recv(1024)
if not self.data:
print(self.data)
break
def get_address(self):
return self.client_address
def get_data(self):
return self.data
def close(self):
self.hold_session = False
def main():
serv = Server_thread()
serv.start()
while True:
print("sleep")
sleep(3)
if serv.data:
print(serv.get_data())
serv.close()
s.close()
if __name__ == "__main__":
main()
MfG
Trayser