コード例 #1
0
ファイル: test_socket.py プロジェクト: niccokunzmann/Pyro4
 def testSend(self):
     ss=SU.createSocket(bind=("localhost",0))
     port=ss.getsockname()[1]
     cs=SU.createSocket(connect=("localhost",port))
     SU.sendData(cs,tobytes("foobar!")*10)
     cs.shutdown(socket.SHUT_WR)
     a=ss.accept()
     data=SU.receiveData(a[0], 5)
     self.assertEqual(tobytes("fooba"),data)
     data=SU.receiveData(a[0], 5)
     self.assertEqual(tobytes("r!foo"),data)
     a[0].close()
     ss.close()
     cs.close()
コード例 #2
0
ファイル: test_socket.py プロジェクト: ClearBlade/OPC-Adapter
 def testSend(self):
     ss = SU.createSocket(bind=("localhost", 0))
     port = ss.getsockname()[1]
     cs = SU.createSocket(connect=("localhost", port))
     SU.sendData(cs, tobytes("foobar!") * 10)
     cs.shutdown(socket.SHUT_WR)
     a = ss.accept()
     data = SU.receiveData(a[0], 5)
     self.assertEqual(tobytes("fooba"), data)
     data = SU.receiveData(a[0], 5)
     self.assertEqual(tobytes("r!foo"), data)
     a[0].close()
     ss.close()
     cs.close()
コード例 #3
0
ファイル: test_socket.py プロジェクト: niccokunzmann/Pyro4
 def testMsgWaitallProblems(self):
     ss=SU.createSocket(bind=("localhost",0), timeout=2)
     port=ss.getsockname()[1]
     cs=SU.createSocket(connect=("localhost",port), timeout=2)
     a=ss.accept()
     # test some sizes that might be problematic with MSG_WAITALL
     for size in [1000,10000,32000,32768,32780,41950,41952,42000,65000,65535,65600,80000]:
         SU.sendData(cs,tobytes("x")*size)
         data=SU.receiveData(a[0],size)
         SU.sendData(a[0], data)
         data=SU.receiveData(cs,size)
         self.assertEqual(size, len(data))
     a[0].close()
     ss.close()
     cs.close()
コード例 #4
0
ファイル: test_socket.py プロジェクト: niccokunzmann/Pyro4
 def testSendUnix(self):
     SOCKNAME="test_unixsocket"
     ss=SU.createSocket(bind=SOCKNAME)
     cs=SU.createSocket(connect=SOCKNAME)
     SU.sendData(cs,tobytes("foobar!")*10)
     cs.shutdown(socket.SHUT_WR)
     a=ss.accept()
     data=SU.receiveData(a[0], 5)
     self.assertEqual(tobytes("fooba"),data)
     data=SU.receiveData(a[0], 5)
     self.assertEqual(tobytes("r!foo"),data)
     a[0].close()
     ss.close()
     cs.close()
     if os.path.exists(SOCKNAME): os.remove(SOCKNAME)
コード例 #5
0
ファイル: test_socket.py プロジェクト: rowhit/Pyro4
 def testMsgWaitallProblems(self):
     ss = SU.createSocket(bind=("localhost", 0), timeout=2)
     port = ss.getsockname()[1]
     cs = SU.createSocket(connect=("localhost", port), timeout=2)
     a = ss.accept()
     # test some sizes that might be problematic with MSG_WAITALL and check that they work fine
     for size in [1000, 10000, 32000, 32768, 32780, 41950, 41952, 42000, 65000, 65535, 65600, 80000]:
         SU.sendData(cs, tobytes("x") * size)
         data = SU.receiveData(a[0], size)
         SU.sendData(a[0], data)
         data = SU.receiveData(cs, size)
         self.assertEqual(size, len(data))
     a[0].close()
     ss.close()
     cs.close()
コード例 #6
0
 def testSendUnix(self):
     SOCKNAME = "test_unixsocket"
     ss = SU.createSocket(bind=SOCKNAME)
     cs = SU.createSocket(connect=SOCKNAME)
     SU.sendData(cs, tobytes("foobar!") * 10)
     cs.shutdown(socket.SHUT_WR)
     a = ss.accept()
     data = SU.receiveData(a[0], 5)
     self.assertEqual(tobytes("fooba"), data)
     data = SU.receiveData(a[0], 5)
     self.assertEqual(tobytes("r!foo"), data)
     a[0].close()
     ss.close()
     cs.close()
     if os.path.exists(SOCKNAME): os.remove(SOCKNAME)
コード例 #7
0
ファイル: test_socket.py プロジェクト: niccokunzmann/Pyro4
 def testMsgWaitallProblems2(self):
     class ReceiveThread(threadutil.Thread):
         def __init__(self, sock, sizes):
             super(ReceiveThread,self).__init__()
             self.sock=sock
             self.sizes=sizes
         def run(self):
             cs,_ = self.sock.accept()
             for size in self.sizes:
                 data=SU.receiveData(cs,size)
                 SU.sendData(cs, data)
             cs.close()
     ss=SU.createSocket(bind=("localhost",0))
     SIZES=[1000,10000,32000,32768,32780,41950,41952,42000,65000,65535,65600,80000,999999]
     serverthread=ReceiveThread(ss, SIZES)
     serverthread.setDaemon(True)
     serverthread.start()
     port=ss.getsockname()[1]
     cs=SU.createSocket(connect=("localhost",port), timeout=2)
     # test some sizes that might be problematic with MSG_WAITALL
     for size in SIZES:
         SU.sendData(cs,tobytes("x")*size)
         data=SU.receiveData(cs,size)
         self.assertEqual(size, len(data))
     serverthread.join()
     ss.close()
     cs.close()
コード例 #8
0
ファイル: test_socket.py プロジェクト: ClearBlade/OPC-Adapter
    def testMsgWaitallProblems2(self):
        class ReceiveThread(threadutil.Thread):
            def __init__(self, sock, sizes):
                super(ReceiveThread, self).__init__()
                self.sock = sock
                self.sizes = sizes

            def run(self):
                cs, _ = self.sock.accept()
                for size in self.sizes:
                    data = SU.receiveData(cs, size)
                    SU.sendData(cs, data)
                cs.close()

        ss = SU.createSocket(bind=("localhost", 0))
        SIZES = [
            1000, 10000, 32000, 32768, 32780, 41950, 41952, 42000, 65000,
            65535, 65600, 80000, 999999
        ]
        serverthread = ReceiveThread(ss, SIZES)
        serverthread.setDaemon(True)
        serverthread.start()
        port = ss.getsockname()[1]
        cs = SU.createSocket(connect=("localhost", port), timeout=2)
        # test some sizes that might be problematic with MSG_WAITALL and check that they work fine
        for size in SIZES:
            SU.sendData(cs, tobytes("x") * size)
            data = SU.receiveData(cs, size)
            self.assertEqual(size, len(data))
        serverthread.join()
        ss.close()
        cs.close()
コード例 #9
0
ファイル: test_socket.py プロジェクト: niccokunzmann/Pyro4
 def run(self):
     cs,_ = self.sock.accept()
     for size in self.sizes:
         data=SU.receiveData(cs,size)
         SU.sendData(cs, data)
     cs.close()
コード例 #10
0
ファイル: test_socket.py プロジェクト: ClearBlade/OPC-Adapter
 def run(self):
     cs, _ = self.sock.accept()
     for size in self.sizes:
         data = SU.receiveData(cs, size)
         SU.sendData(cs, data)
     cs.close()