Changeset 62 for trunk/daemon/togad.py


Ignore:
Timestamp:
04/12/05 16:39:12 (18 years ago)
Author:
bastiaans
Message:

daemon/togad.py:

  • Class added for own data server for catching jobinfo from plugin.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/daemon/togad.py

    r60 r62  
    5959# On what interfaces to listen
    6060#
    61 TOGA_SERVER_INTERFACES = [ 'eth0' ]
     61TOGA_SERVER_IP = [ '127.0.0.1' ]
    6262
    6363# On what port to listen
     
    100100"""
    101101
    102 #class TogaServer:
    103 
    104 #class TogaXMLHandler( ContentHandler ):
     102class TogaServer:
     103
     104        sockets = [ ]
     105
     106
     107
     108        def __init__( self ):
     109
     110                s = None
     111                for host in TOGA_SERVER_IP:
     112
     113                        for res in socket.getaddrinfo( host, TOGA_SERVER_PORT, socket.AF_UNSPEC, socket.SOCK_STREAM, 0, socket.AI_PASSIVE ):
     114
     115                                af, socktype, proto, canonname, sa = res
     116
     117                                try:
     118
     119                                        s = socket.socket( af, socktype, proto )
     120
     121                                except socket.error, msg:
     122
     123                                        s = None
     124                                        continue
     125
     126                                try:
     127                                        s.bind( sa )
     128                                        s.listen( 1 )
     129
     130                                except socket.error, msg:
     131
     132                                        s.close()
     133                                        s = None
     134                                        continue
     135                                        break
     136
     137                                if not self.s:
     138
     139                                        debug_msg( 6, 'Could not open socket' )
     140                                        return None
     141
     142                                else:
     143
     144                                        self.sockets.append( s )
     145
     146        def run( self ):
     147
     148                for s in self.sockets:
     149
     150                        while( 1 ):
     151
     152                                conn, addr = s.accept()
     153                                pid = os.fork()
     154
     155                                if pid == 0:
     156
     157                                        debug_msg( 6, 'New connection to %s' %addr[0] )
     158
     159                                        leesme = conn.makefile( 'r' )
     160                                        for line in leesme.readlines():
     161                                                print line
     162                                       
     163                                        conn.close()
     164                                        conn.shutdown( 2 )
     165
     166                                        sys.exit( 0 )
    105167
    106168class RRDMutator:
Note: See TracChangeset for help on using the changeset viewer.