gmyth-stream/server/plugins/comm/tcp.py
author morphbr
Wed Apr 04 21:18:43 2007 +0100 (2007-04-04)
branchtrunk
changeset 499 9900800a8dd6
parent 484 27e83a8f68d7
child 504 2b5355061b66
permissions -rw-r--r--
[svn r504] Gmyth-Streamer: mencoder stdout bug fix (Chenca's bug)
renatofilho@484
     1
import lib
renatofilho@484
     2
import time
renatofilho@484
     3
import socket
renatofilho@484
     4
morphbr@499
     5
class Server(object):
renatofilho@484
     6
renatofilho@484
     7
    def __init__(self, config):
renatofilho@484
     8
        self.host = ''
renatofilho@484
     9
        self.port = int(config.get("Comm", "port"))
renatofilho@484
    10
        self.finish = 0
renatofilho@484
    11
renatofilho@484
    12
        self.tcp = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
renatofilho@484
    13
        self.tcp.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
renatofilho@484
    14
        self.tcp.bind( (self.host, self.port) )
renatofilho@484
    15
        self.tcp.listen(1)
renatofilho@484
    16
renatofilho@484
    17
    def getMsg(self, size):
renatofilho@484
    18
        return self.con.recv(size)
renatofilho@484
    19
renatofilho@484
    20
    def sendMsg(self, msg):
renatofilho@484
    21
        self.con.send(msg + "\n")
renatofilho@484
    22
renatofilho@484
    23
    def Ack(self, command):
renatofilho@484
    24
        msg = "[%s] Command %s received" % (lib.now(), command)
renatofilho@484
    25
        self.sendMsg(msg)
renatofilho@484
    26
renatofilho@484
    27
    def getRequest(self):
renatofilho@484
    28
        self.con, self.client = self.tcp.accept()
renatofilho@484
    29
        print "[%s] Received request from ip=%s" % (lib.now(), self.client )
renatofilho@484
    30
        return (self.con, self.client)
renatofilho@484
    31
renatofilho@484
    32
    def disconnect_client(self, connection):
renatofilho@484
    33
        connection.close()
renatofilho@484
    34
renatofilho@484
    35
    def stop(self):
renatofilho@484
    36
        self.tcp.close()