Erstmal wollte ich nur ein wenig damit rumspielen und das ganze später vielleicht so strukturieren (evtl. OOP, wenns sinnvoll ist), dass ich bei bedarf einfach ne GUI daufhau'n kann.
Aber wie gesagt, erstmal nur damit rumspielen Und wie erwartet kommen da schon die ersten Probleme.
Ich poste erstmal das Programm, damit ihr besser nachvollziehen könnt, was ich meine.
Code: Alles auswählen
import socket
import string
HOST="irc.eu.gamesurge.net"
PORT=6667
NICK="PyNocta"
IDENT="PyNocta"
REALNAME="PyJohannes"
s=socket.socket( )
s.connect((HOST, PORT))
while(True):
response = s.recv(1024)
print response
if response != "":
if "Checking Ident" in response:
print "Sending Informations ..."
s.send("NICK %s\r\n" % NICK)
s.send("USER %s %s bla :%s\r\n" % (IDENT, HOST, REALNAME))
if "ERROR :Closing Link:" in response:
break
if "PING" in response:
print "replying to PING ..."
pong = string.split(response, " ")
s.send("PONG %s" % pong[1])
print "PONG %s sent" % string.replace(pong[1], "\r\n", "")
s.close()
Ich habe eine Endlosschleife, in der ich daten vom Server lese und darauf reagiere.
Nur wie kann ich jetzt auch noch schreiben?
Entweder eine Endlosschleife zum schreiben, oder eine zum lesen, beides auf einmal geht irgendwie nicht.
Jetzt hab ich von Threads gehört. Wäre das eine (vernünftige) Lösung? Einfach 2 Threads starten, jede eine Endlosschleife?
Oder wie würdet ihr das machen?
Naja ansonsten kann natürlich auch die übliche Kritik kommen
Ich hab mir jetzt sogar angewöhnt Strings und Variablen nicht zu nem + str(var) + zu verunstalten :p
Das ist das erste, was ich mit Sockets mache, vielleicht gibt es ja auch 'ne ganz simple Lösung dafür.