RflySimSDK v4.11
RflySimSDK说明文档
载入中...
搜索中...
未找到
distSimCtrlAPI类 参考

用于通过组播方式扫描局域网中的节点信息并向节点发送指令 更多...

Public 成员函数

 __init__ (self, ip="127.0.0.1", debug=False)
 __del__ (self)
 isRunningAsyscCmd (self)
 是否正在运行异步指令
 scan_udp (self, timeout=5)
 扫描局域网内的组播数据,解析并存储节点信息
 modifyNodeName (self, targetNodeId, nodeName)
 改变节点名称
 executeCommand (self, command, targetNodeId=0, workdir=None, fileList=None, waitResTimeout=0, output_func=None)
 发送指令给指定的节点或广播给所有节点

Public 属性

 localIp = ip
int localNodeId = 0
 isDebug = debug
list nodeDataList = []
bool running = False
Optional[threading.Thread] listenerThread = None
 recMsgQueue = queue.Queue()

Protected 成员函数

 _getMsgIndex (self)
 _getLocalId (self)
 _print (self, descs)
 _startThread (self)
 _stopThread (self)
 _listenLoop (self)
 _getUdpListenData (self, bool block=False, Optional[float] timeout=None)
 _createUdpSocket (self, ip, port, timeout=1)
 创建UdpSocket对象
 _sendMsg (self, DistSim_pb2.MsgWrapper protobufMsg, targetIp, targetPort=COMMON_SEND_PORT)
 发送数据到udp

静态 Protected 成员函数

 _getFilenameFromPath (filePath)
 _getFilenameWithoutExtension (filePath)
 _readFileAsUtf8 (filePath)

Protected 属性

 _udpCommSocket = self._createUdpSocket(self.localIp or '', COMMON_BIND_PORT)
 _udpCommLock = threading.Lock()
int _msgIndex = int(self.localIp.split('.')[-1])*10000
list _asysCallbackList = []
 _asysListLock = threading.Lock()

详细描述

用于通过组播方式扫描局域网中的节点信息并向节点发送指令

成员函数说明

◆ _createUdpSocket()

_createUdpSocket ( self,
ip,
port,
timeout = 1 )
protected

创建UdpSocket对象

参数
ip绑定的IP
port绑定的端口
timeoutsocket超时,默认1秒
这是这个函数的调用关系图:

◆ _getFilenameFromPath()

_getFilenameFromPath ( filePath)
staticprotected
从文件路径中提取文件名(包含扩展名)
这是这个函数的调用关系图:

◆ _getFilenameWithoutExtension()

_getFilenameWithoutExtension ( filePath)
staticprotected
从文件路径中提取不带扩展名的文件名

◆ _getUdpListenData()

_getUdpListenData ( self,
bool block = False,
Optional[float] timeout = None )
protected
从队列获取数据,供主线程调用
这是这个函数的调用关系图:

◆ _listenLoop()

_listenLoop ( self)
protected
监听循环,在独立线程中运行
函数调用图:
这是这个函数的调用关系图:

◆ _readFileAsUtf8()

_readFileAsUtf8 ( filePath)
staticprotected
以UTF-8编码读取文件内容,返回字符串
这是这个函数的调用关系图:

◆ _sendMsg()

_sendMsg ( self,
DistSim_pb2.MsgWrapper protobufMsg,
targetIp,
targetPort = COMMON_SEND_PORT )
protected

发送数据到udp

参数
protobufMsgDistSim_pb2定义的消息对象
targetIp发送目标的IP
targetPort发送目标节点的端口
函数调用图:
这是这个函数的调用关系图:

◆ _startThread()

_startThread ( self)
protected
启动监听线程
函数调用图:

◆ _stopThread()

_stopThread ( self)
protected
停止监听线程
函数调用图:

◆ executeCommand()

executeCommand ( self,
command,
targetNodeId = 0,
workdir = None,
fileList = None,
waitResTimeout = 0,
output_func = None )

发送指令给指定的节点或广播给所有节点

  • 参数
    command:str要执行的命令
    targetNodeId:int目标节点id,0为所有节点
    workdir:int指定目标执行的工作目录,默认在PSP_PATH%/DistSim/tmp
    fileList:str[]文件列表,可以传文件
    waitResTimeout等待返回数据超时,若为0, 则不等待返回
    output_func:Callable(exitCode,stdout,errout)回调函数: 参数1,code 参数2,标准输出 参数3,错误输出
    返回
    (boolean, str) 返回元组:1,执行状态 2,描述信息
函数调用图:

◆ isRunningAsyscCmd()

isRunningAsyscCmd ( self)

是否正在运行异步指令

通过异步回调获取是否正在运行异步指令

◆ modifyNodeName()

modifyNodeName ( self,
targetNodeId,
nodeName )

改变节点名称

参数
targetNodeId目标节点
nodeName需改变的名称
函数调用图:

◆ scan_udp()

scan_udp ( self,
timeout = 5 )

扫描局域网内的组播数据,解析并存储节点信息

  • 返回
    返回包含所有已解析reqVeCrashData对象的列表
函数调用图:

该类的文档由以下文件生成: