示例#1
0
    def take(self, _msgLen = 2048):

        if not self._socket:
            return ""

        chunks      = []
        bytes_recd  = 0

        while bytes_recd < _msgLen:

            chunk = None

            try:
                chunk = self._socket.recv(min(_msgLen - bytes_recd, 2048))

            except:
                break

                # if chunk == '':
                #     break #raise RuntimeError("socket connection broken")
            if chunk:

                chunks.append(chunk)

                bytes_recd = bytes_recd + len(chunk)

            if not chunk:
                break

        return mjcIMsg.mjcMessage1(''.join(chunks))
示例#2
0
    def take(self, _msgLen=2048):

        if not self._socket:
            return ""

        chunks = []
        bytes_recd = 0

        while bytes_recd < _msgLen:

            chunk = None

            try:
                chunk = self._socket.recv(min(_msgLen - bytes_recd, 2048))

            except:
                break

                # if chunk == '':
                #     break #raise RuntimeError("socket connection broken")
            if chunk:

                chunks.append(chunk)

                bytes_recd = bytes_recd + len(chunk)

            if not chunk:
                break

        return mjcIMsg.mjcMessage1(''.join(chunks))
示例#3
0
def test_run_msg1_leavesQueueEmpty(m_class):

    import time

    xBody       = "ABC"

    msg         = mjcIMsg.mjcMessage1(xBody)

    y           = m_class.send(msg)

    msg         = mjcIMsg.done()

    y           = m_class.send(msg)

    m_class.shutdown()

    time.sleep(0.5)

    z           = m_class.qIn()
    a1          = z.take()

    if (a1):
        a1 = a1.body

    assert a1  == None
示例#4
0
    def _run(self):

        # bind the socket to a public host,

        print("Bind to {}/{}".format(self._host, self._port))

        self._serversocket.bind((self._host, self._port))

        # become a server socket
        self._serversocket.listen(1)

        (self._clientsocket, self._address) = self._serversocket.accept()
        # now do something with the clientsocket

        if not self._clientsocket:
            return

        # just print out what the client sends
        request = self._clientsocket.recv(1024)

        print "[*] Received: %s" % request

        if self.qIn():
            self.qIn().put(mjcMessage1("{}".format(request)))

        if self._clientsocket:
            print("getpeername {}".format(self._clientsocket.getpeername()))

        # send back a packet
        ack = "ACK!"
        # ack = None

        if ack:
            self._clientsocket.sendall(ack)

        if ack and self.qOut():
            self.qOut().put(mjcMessage1(ack))

        if self._clientsocket:
            self._clientsocket.close()
            self._clientsocket = None

        if self._serversocket:
            self._serversocket.close()
            self._serversocket = None

        print("run finished")
示例#5
0
    def _run(self):

        # bind the socket to a public host,

        print("Bind to {}/{}".format(self._host, self._port))

        self._serversocket.bind((self._host, self._port))

        # become a server socket
        self._serversocket.listen(1)

        (self._clientsocket, self._address) = self._serversocket.accept()
        # now do something with the clientsocket

        if not self._clientsocket:
            return

        # just print out what the client sends
        request = self._clientsocket.recv(1024)

        print "[*] Received: %s" % request

        if self.qIn():
            self.qIn().put(mjcMessage1("{}".format(request)))

        if self._clientsocket:
            print("getpeername {}".format(self._clientsocket.getpeername()))

        # send back a packet
        ack = "ACK!"
        # ack = None

        if ack:
            self._clientsocket.sendall(ack)

        if ack and self.qOut():
            self.qOut().put(mjcMessage1(ack))

        if self._clientsocket:
            self._clientsocket.close()
            self._clientsocket = None

        if self._serversocket:
            self._serversocket.close()
            self._serversocket = None

        print("run finished")
示例#6
0
    def _run(self):

        # bind the socket to a public host,

        self._serversocket.bind((self._host, self._port))

        # become a server socket
        self._serversocket.listen(1)

        ###
        while True:

            print("while-")

            (self._clientsocket, self._address) = self._serversocket.accept()
            # now do something with the clientsocket

            if not self._clientsocket:
                print("No socket accepted")
                break

            if not self._qIn:
                raise "msgQueue not defined"

            request = self._clientsocket.recv(1024, )
            msgPtr = mjcIMsg.mjcMessage1(request)

            if msgPtr:
                self.body.append(msgPtr.body)
                #self._x = True

                ret = msgPtr.execute()

                if ret and self._qOut:
                    self._qOut.put(ret)

                if msgPtr.body == self._DONE.body:
                    break

            time.sleep(0.25)
###

# just print out what the client sends
# request = self._clientsocket.recv(1024)

# print "[*] Received: %s" % request
# self._qIn.put("{}".format(request))

# send back a packet
# self._clientsocket.send("ACK!")
# print self._clientsocket.getpeername()
        if self._clientsocket:
            self._clientsocket.close()

        if self._serversocket:
            self._serversocket.close()

        print("run finished")
示例#7
0
    def _run(self):

        # bind the socket to a public host,

        self._serversocket.bind((self._host, self._port))

        # become a server socket
        self._serversocket.listen(1)

###
        while True:

            print("while-")

            (self._clientsocket, self._address) = self._serversocket.accept()
            # now do something with the clientsocket

            if not self._clientsocket:
                print("No socket accepted")
                break

            if not self._qIn:
                raise "msgQueue not defined"

            request = self._clientsocket.recv(1024,)
            msgPtr  = mjcIMsg.mjcMessage1(request)

            if msgPtr:
                self.body.append(msgPtr.body)
                #self._x = True

                ret = msgPtr.execute()

                if ret and self._qOut:
                    self._qOut.put(ret)

                if msgPtr.body == self._DONE.body:
                    break

            time.sleep(0.25)
###

        # just print out what the client sends
        # request = self._clientsocket.recv(1024)

        # print "[*] Received: %s" % request
        # self._qIn.put("{}".format(request))

        # send back a packet
        # self._clientsocket.send("ACK!")
        # print self._clientsocket.getpeername()
        if self._clientsocket:
            self._clientsocket.close()

        if self._serversocket:
            self._serversocket.close()

        print("run finished")
示例#8
0
def test_take2_Fail(m_class):

    xBody       =   "ABC"

    msg         =   mjcIMsg.mjcMessage1(xBody)

    assert True ==  m_class.put(msg)

    x = m_class.take()
    x = m_class.take()

    assert None == x
示例#9
0
def test_take2_Fail(m_class):

    xBody = "ABC"

    msg = mjcIMsg.mjcMessage1(xBody)

    assert True == m_class.put(msg)

    x = m_class.take()
    x = m_class.take()

    assert None == x
示例#10
0
def test_take1_OK(m_class):

    xBody       =   "ABC"

    msg         =   mjcIMsg.mjcMessage1(xBody)

    assert True ==  m_class.put(msg)

    x = m_class.take()

    assert isinstance(x, mjcIMsg.mjcMessage1)

    assert xBody == x.body
示例#11
0
def test_take1_OK(m_class):

    xBody = "ABC"

    msg = mjcIMsg.mjcMessage1(xBody)

    assert True == m_class.put(msg)

    x = m_class.take()

    assert isinstance(x, mjcIMsg.mjcMessage1)

    assert xBody == x.body
示例#12
0
    def take(self, _msgLen):

        chunks = []
        bytes_recd = 0

        while bytes_recd < _msgLen:

            chunk = self.sock.recv(min(_msgLen - bytes_recd, 2048))

            if chunk == '':
                raise RuntimeError("socket connection broken")

            chunks.append(chunk)

            bytes_recd = bytes_recd + len(chunk)

        return mjcIMsg.mjcMessage1(''.join(chunks))
示例#13
0
    def take(self, _msgLen):

        chunks      = []
        bytes_recd  = 0

        while bytes_recd < _msgLen:

            chunk = self.sock.recv(min(_msgLen - bytes_recd, 2048))

            if chunk == '':
                raise RuntimeError("socket connection broken")

            chunks.append(chunk)

            bytes_recd = bytes_recd + len(chunk)

        return mjcIMsg.mjcMessage1(''.join(chunks))
示例#14
0
def test_done_stops_process(m_class):

    # import time

    x       = mjcIMsg.mjcMessage1("ABC")

    m_class.send(x)

    x       = mjcIMsg.done()

    m_class.send(x)

    # time.sleep(1)

    a       = m_class.isAlive();

    m_class.shutdown()

    assert a == False
示例#15
0
def test_create_created(m_class):

    global host, port

    # (host, port) = ("127.0.0.1", 62029)
    # qIn         = mjcMsgQ.mjcMsgQ()
    # qOut        = mjcMsgQ.mjcMsgQ()

    # server      = mjcSockListen1.create(qIn, qOut, host, port)

    assert m_class != None

    client = mjcMsgQSocket.createSender(host, port)

    msg = mjcIMsg.mjcMessage1("ABC")
    client.put(msg)

    client.shutdown()

    m_class.shutdown()
示例#16
0
def test_create_created(m_class):

    global host, port

    # (host, port) = ("127.0.0.1", 62029)
    # qIn         = mjcMsgQ.mjcMsgQ()
    # qOut        = mjcMsgQ.mjcMsgQ()

    # server      = mjcSockListen1.create(qIn, qOut, host, port)

    assert m_class != None

    client      = mjcMsgQSocket.createSender(host, port)

    msg         = mjcIMsg.mjcMessage1("ABC")
    client.put(msg)

    client.shutdown()

    m_class.shutdown()
示例#17
0
def test_create_created(m_class):

    global host, port

    # (host, port) = ("127.0.0.1", 62029)
    # qIn         = mjcMsgQ.mjcMsgQ()
    # qOut        = mjcMsgQ.mjcMsgQ()

    # server      = mjcSockListen1.create(qIn, qOut, host, port)

    assert m_class != None

    msg     = mjcIMsg.mjcMessage1("ABC")

    m_class.send(msg)

    msg         = mjcIMsg.done()

    m_class.send(msg)

    m_class.shutdown()