connexion to all the servers

José jmcalvar at telecable.es
Wed May 12 11:33:55 EDT 2004


Now the problem is different.
I can do the first part, and is good, but if I try to send a message 
from server to the clients, I can only send the first message, and can't 
the other three.
Here I have the code.

Code from client (first request):

#!/usr/bin/env python
from socket import *
import sys
from os.path import *
from os import *
sock = socket(AF_INET,SOCK_STREAM)
sock.connect(('192.168.4.115', 6969))
tm = str(getsize("/var/log/apache2/access_log"))
message = tm

if ( tm > 50 ):
    sock.send(message)

sock.close()

Code from server (second request):

#!/usr/bin/env python
from SocketServer import BaseRequestHandler, TCPServer
from socket import *
import sys

class manejador(BaseRequestHandler):
    def handle(self):
       print "Conected Client: ", self.client_address
       datos = self.request.recv(4096)
       self.request.close()
       print "los datos: ", datos
       while ( datos != 0 ):         			  										 		 
a=['172.26.0.138','192.168.4.111','192.168.4.112',
'192.168.4.113','192.168.4.114']
         for i in range(len(a)):
           web = a[i]
             sock = socket(AF_INET,SOCK_STREAM)
             sock.connect((web, 6970))
             message = "adelante"
             sock.send(message)
             sock.close()


TCPServer((('',6969)), manejador).serve_forever()


and this is the client server script, the last:

!/usr/bin/env python
from SocketServer import BaseRequestHandler, TCPServer
import sys, socket
from os.path import *
from os import *

class manejador(BaseRequestHandler):
    def handle(self):
       print "Cliente Conectado: ", self.client_address
       datos = self.request.recv(4096)
       self.request.close()
       archivo = isfile("./rotatelogs")
       if ( archivo == False ):
         print "success"
       else:
         print "errorrrr"


TCPServer((('',6970)), manejador).serve_forever()





More information about the Python-list mailing list