コード例 #1
0
    def __init__(self):
        # init ROS node
        rospy.init_node("holo_tf_receiver", anonymous=True)

        self.server_ = TcpServer(host="192.168.1.152", port=12345)

        self.pub_ = rospy.Publisher('holo_transform',
                                    HoloTransform,
                                    queue_size=10)

        # call self.server_.stop before node destroied
        rospy.on_shutdown(self.server_.stop)
コード例 #2
0
    def test_server(self):

        af_inet = AF_INET
        sock_stream = SOCK_STREAM
        sol_socket = SOL_SOCKET
        so_reuseaddr = SO_REUSEADDR

        with mock.patch("tcp_server.socket") as mock_socket, \
                mock.patch("tcp_server.ClientThread", spec=True) as mock_ClientThread:

            host = 'localhost'
            port = 5555

            tcp_server = TcpServer(host=host, port=port)

            self.assertEqual(tcp_server.host, host)
            self.assertEqual(tcp_server.port, port)
            self.assertIsNone(tcp_server._socket)
            self.assertFalse(tcp_server._runnning)

            def accept_stub():
                ca = [("conn1", "addr1"), ("conn2", "addr2"), ("conn3", "addr3")]
                for i in range(len(ca)):
                    if i == 2:
                        tcp_server.stop()
                    yield ca[i]

            s_socket = mock.Mock(name="s_sock")
            s_socket.accept.side_effect = accept_stub()

            mock_socket.socket.return_value = s_socket
            mock_socket.AF_INET = af_inet
            mock_socket.SOCK_STREAM = sock_stream
            mock_socket.SOL_SOCKET = sol_socket
            mock_socket.SO_REUSEADDR = so_reuseaddr

            tcp_server.run()

            mock_socket.socket.assert_called_once_with(af_inet, sock_stream)
            tcp_server._socket.setsockopt.assert_called_once_with(sol_socket, so_reuseaddr, 1)
            tcp_server._socket.bind.assert_called_once_with((host, port))
            tcp_server._socket.listen.assert_called_once_with(5)
            self.assertFalse(tcp_server._runnning)
            self.assertEqual(tcp_server._socket.accept.call_count, 3)
            self.assertEqual(mock_ClientThread.call_count, 3)
            inst_client_thread = mock_ClientThread("stub", "stub")
            self.assertEqual(inst_client_thread.start.call_count, 3)
            tcp_server._socket.close.assert_called_once()
コード例 #3
0
    def __init__(self):
        # init ROS node
        rospy.init_node("holo_sensor_receiver", anonymous=True)

        self.server_ = TcpServer(
            # get from private domain ~
            host=rospy.get_param("~host", default="192.168.1.152"),
            port=rospy.get_param("~port", default=8800))

        self.pub_ = rospy.Publisher("image_topic", Image, queue_size=5)
        self.bridge_ = CvBridge()

        # self.pub_ = rospy.Publisher('holo_transform', HoloTransform, queue_size=10)

        # call self.server_.stop before node destroied
        rospy.on_shutdown(self.server_.stop)
コード例 #4
0
ファイル: main.py プロジェクト: helloWorld141/MazeRunner

def send_serial_client(arduino_conn, arduino_queue, running):
    while running:
        if not arduino_queue.empty():
            arduino_conn.send(arduino_queue.get())


if __name__ == "__main__":
    running = True

    pc_queue = Queue.Queue()
    android_queue = Queue.Queue()
    arduino_queue = Queue.Queue()

    pc_conn = TcpServer("192.168.7.1", 77)
    android_conn = BtServer(4)
    arduino_conn = SerialClient("/dev/ttyACM0", 9600)
    # arduino_conn = SerialClient("/dev/ttyAMA0", 9600)

    t1 = threading.Thread(target=run_tcp_server,
                          args=(pc_conn, android_queue, arduino_queue, running))
    t2 = threading.Thread(target=run_bt_server,
                          args=(android_conn, pc_queue, arduino_queue, running))
    t3 = threading.Thread(target=run_serial_client,
                          args=(arduino_conn, pc_queue, running))

    t4 = threading.Thread(target=send_tcp_server,
                          args=(pc_conn, pc_queue, running))
    t5 = threading.Thread(target=send_bt_server,
                          args=(android_conn, android_queue, running))
コード例 #5
0
}

################################################################################
# Main                                                                         #
################################################################################

script_name = os.path.basename(sys.argv[0])

if len(sys.argv) != 2:
    print_usage(script_name)
    sys.exit(-1)

service_name = sys.argv[1]

if service_name not in service_table:
    print_usage(script_name)
    sys.exit(-1)

try:
    init_logger(log_file_name, log_max_bytes, log_backup_count)
    logger = logging.getLogger()
    logger.info(f'SW version: {sw_version}')

    tcp_server = TcpServer("svc-server")
    tcp_server.run(port, ClientHandlerFactory(service_table[service_name]))
except Exception as ex:
    logger.error(traceback.format_exc())
finally:
    logger.info('Server stopped.')
    logging.shutdown()
コード例 #6
0
    sys.exit('File torrent not exists')

torrent_file_data = parse_torrent_file(args.torrent_file_path)

info_hash = hashlib.sha1(
    json.dumps(torrent_file_data['info']).encode('utf-8')).hexdigest()
my_id = ''.join(
    random.choice(string.ascii_letters + string.digits)
    for i in range(PEER_ID_SIZE))

main_controller = MainController.start(my_id, info_hash, torrent_file_data,
                                       args.seeder)

server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind((socket.gethostname(), 0))
server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
server_socket.listen(5)

tracker_client = TrackerClient(my_id, info_hash,
                               server_socket.getsockname()[0],
                               server_socket.getsockname()[1],
                               torrent_file_data['tracker_ip'],
                               torrent_file_data['tracker_port'],
                               main_controller)
tracker_client.daemon = True
tracker_client.start()

tcp_server = TcpServer(info_hash, server_socket, main_controller)
tcp_server.daemon = True
tcp_server.start()
コード例 #7
0
ファイル: syncobj.py プロジェクト: xiaogaozi/PySyncObj
    def __init__(self, selfNodeAddr, otherNodesAddrs, conf=None):

        if conf is None:
            self.__conf = SyncObjConf()
        else:
            self.__conf = conf

        self.__conf.validate()

        if self.__conf.password is not None:
            if not HAS_CRYPTO:
                raise ImportError("Please install 'cryptography' module")
            self.__encryptor = getEncryptor(self.__conf.password)
        else:
            self.__encryptor = None

        self.__selfNodeAddr = selfNodeAddr
        self.__otherNodesAddrs = otherNodesAddrs
        self.__unknownConnections = {}  # descr => _Connection
        self.__raftState = _RAFT_STATE.FOLLOWER
        self.__raftCurrentTerm = 0
        self.__votedFor = None
        self.__votesCount = 0
        self.__raftLeader = None
        self.__raftElectionDeadline = time.time() + self.__generateRaftTimeout(
        )
        self.__raftLog = createJournal(self.__conf.journalFile)
        if len(self.__raftLog) == 0:
            self.__raftLog.add(_bchr(_COMMAND_TYPE.NO_OP), 1,
                               self.__raftCurrentTerm)
        self.__raftCommitIndex = 1
        self.__raftLastApplied = 1
        self.__raftNextIndex = {}
        self.__raftMatchIndex = {}
        self.__lastSerializedTime = time.time()
        self.__lastSerializedEntry = None
        self.__forceLogCompaction = False
        self.__leaderCommitIndex = None
        self.__onReadyCalled = False
        self.__changeClusterIDx = None
        self.__noopIDx = None
        self.__destroying = False

        self.__startTime = time.time()
        globalDnsResolver().setTimeouts(self.__conf.dnsCacheTime,
                                        self.__conf.dnsFailCacheTime)
        self.__serializer = Serializer(self.__conf.fullDumpFile,
                                       self.__conf.logCompactionBatchSize,
                                       self.__conf.useFork,
                                       self.__conf.serializer,
                                       self.__conf.deserializer,
                                       self.__conf.serializeChecker)
        self.__isInitialized = False
        self.__lastInitTryTime = 0
        self._poller = createPoller(self.__conf.pollerType)

        host, port = selfNodeAddr.split(':')
        self.__server = TcpServer(
            self._poller,
            host,
            port,
            onNewConnection=self.__onNewConnection,
            sendBufferSize=self.__conf.sendBufferSize,
            recvBufferSize=self.__conf.recvBufferSize,
            connectionTimeout=self.__conf.connectionTimeout)

        self._methodToID = {}
        self._idToMethod = {}
        methods = sorted([m for m in dir(self) if callable(getattr(self, m))])
        for i, method in enumerate(methods):
            self._methodToID[method] = i
            self._idToMethod[i] = getattr(self, method)

        self.__thread = None
        self.__mainThread = None
        self.__initialised = None
        self.__commandsQueue = Queue.Queue(self.__conf.commandsQueueSize)
        self.__nodes = []
        self.__newAppendEntriesTime = 0

        self.__commandsWaitingCommit = collections.defaultdict(
            list)  # logID => [(termID, callback), ...]
        self.__commandsLocalCounter = 0
        self.__commandsWaitingReply = {}  # commandLocalCounter => callback

        self.__properies = set()
        for key in self.__dict__:
            self.__properies.add(key)

        if self.__conf.autoTick:
            self.__mainThread = threading.current_thread()
            self.__initialised = threading.Event()
            self.__thread = threading.Thread(target=SyncObj._autoTickThread,
                                             args=(weakref.proxy(self), ))
            self.__thread.start()
            while not self.__initialised.is_set():
                pass
        else:
            self.__initInTickThread()
コード例 #8
0
 def __init__(self, ip, port, reactor_num=5):
     self.__compute_thread_pool = compute_thread_pool
     self.__server = TcpServer(ip, port, reactor_num)
コード例 #9
0
ファイル: __init__.py プロジェクト: sukovanej/PyPepperChecker
"""
PyPepperChecker module
"""

from tcp_server import TcpServer
from network import Network

OUTPUT_SIZE = 3
INPUT_SIZE = 172 * 229 * 3

print("Building neural network...")
network = Network(INPUT_SIZE, OUTPUT_SIZE)

print "Processing images samples..."
network.process_images()

print "Training network..."
network.train()

print("Running TCP server...")
tcp_server = TcpServer(network)
tcp_server.run()