hab mich gerade hier angemeldet, um von euch etwas Hilfe zu bekommen.
Und zwar habe ich vor kurzem mit Python angefangen, und finde es ganz toll und nützlich.
1. Ich hab mir die Aufgabe gestellt, einen kleinen LAN-Chat zu machen.
Dieser funktioniert auch schon fast gut, nur das Disconnecten der Clients geht nicht, da stützt der Server ab. Ich habe da auch noch keine Kontrollstrukturen eingebaut, welche try except Sachen brauche ich da?
2. Bei meiner server.py ist in irgendeiner while-Schleife ein fehler, denn diese Lastet einem meiner 4 Kerne zu 100 % aus.
Könnt ihr mir etwas helfen ?
Client:
Code: Alles auswählen
import socket
import thread
import sys
ip = raw_input("IP-Adresse: ")
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((ip, 50000))
def recv_nachricht():
while True:
antwort = s.recv(1024)
text= antwort
print text
def send_nachricht():
while True:
nachricht = raw_input("")
s.send(nachricht)
thread.start_new_thread(send_nachricht, ())
thread.start_new_thread(recv_nachricht, ())
while True:
pass
Code: Alles auswählen
import thread
import socket
import time
print "[*]Started Thread_Server"
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(("", 50000))
s.listen(1)
clientlist=[]
def recvdata(client):
clientlist.append(client)
while True:
data=client.recv(1024)
if not data:
client.close()
else:
for cl in clientlist:
if cl == client or not cl:
continue
cl.send(data)
def check_new_client():
while True:
client, addr = s.accept()
if not client :
pass
else :
thread.start_new_thread(recvdata, (client,))
thread.start_new_thread(check_new_client, ())
while True:
pass
Ich werde vielleicht gleich noch einige Kommentare schreiben, aber erstmal gibts essen.
Gruß
Scriptonator