Ich beschäftige mich momentan mit Sockets und experementiere einfach ein wenig rum. Als Beispiel dient wie so oft eine einfache Client / Server Verbindung die vorab als Chat agieren soll. Es ist mir möglich die beiden zu Verbinden und der Client kann auch Nachrichten versenden und der Server empängt diese auch entsprechend. Das einzige was ich einfach nicht hinbekomme das ich auch Antworten kann vom Server aus. Vllt könnt ihr mal drüber sehen und mir sagen wie ich bzw wo ich die Antwort möglichkeit am besten setze.
Code: Alles auswählen
# -*- coding: utf-8 -*-
"""
Created on Sun Jun 17 11:47:34 2012
@author: nic
"""
from time import *
from socket import *
server = socket(AF_INET, SOCK_STREAM)
server.bind(('', 6565))
server.listen(1)
clients = []
try:
while True:
lesen, schreiben, oob = select.select([server] + clients, [], [])
for sock in lesen:
if sock is server:
client, addr = server.accept()
clients.append(client)
print "+++ Client %s verbunden" % addr[0]
antwort = raw_input('Antwort: ')
server.send(antwort)
else:
nachricht = sock.recv(1024)
ip = sock.getpeername()[0]
if nachricht:
print "[%s] %s" % (ip, nachricht)
else:
print "+++ Verbindung zu %s beendet" % ip
sock.close()
clients.remove(sock)
finally:
for c in clients:
c.close()
server.close()
Nic