groovy - UnetStack:如何在两个调制解调器之间自动传输数据
问题描述
我有两个 subnero WNC-M25MSS3 调制解调器,我的目标是实现 2 节点网络。它们由协处理器和 Janus 协议组成。在我未来的海上部署期间,名为 A 的调制解调器将位于海面,调制解调器 B 位于深处,我可以连接到调制解调器 A 的外壳,以便执行我在那里创建的脚本的命令。我的目标如下:当我在 A 的 shell 中输入命令行“requestData”时,我必须从 B 申请数据。为此,一旦输入命令行,这将生成一条 Janus 消息,其中包含数据传输给B。当B收到消息时,它应该自动响应数据。这就是我卡住的地方,我已经为两个调制解调器创建了数据传输脚本,但是我找不到让 B“听”的方法,即
这是调制解调器 A 调用传输的功能:
B = host('B');
subscribe phy;
int counterA = 3; // counter which will create in the future
int ID = 0; // Transmitting to everybody
int [] request = new int[2];
request[0] = counterA; // Data is create in a table
request[1] = ID;
// request[2] = ; ????
phy << new TxJanusFrameReq(type: CONTROL, data: request, to: ID); // Transmission of data with Janus
这是我在调制解调器 B 上创建的无限循环,以便在收到消息后使用“sendData”进行传输:我在这里卡住了
subscribe phy;
while(RxFrameNtf != true){
//receivedData = [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
//receivedData = ntf.data;
try{
try { //wait 5 seconds function
Thread.sleep(5000) ;
} catch (InterruptedException e) {
// gestion de l'erreur
}
receivedData = ntf.data; // Analyse the receiving data
}catch (Exception e){
//println([receivedData]);
println("No data yet");
//tampomEvent;
}
//println([receivedData]);
}
println("Amazing, you're out now!!!");
if(ntf.data[1] == 0){
println("OK");
sendData;
}
解决方案
推荐阅读
- php - 获取 Woocommerce 中每种产品今天的总订单数
- split - Typoscript Split Wrap 仅在不为空时拆分?
- php - Laravel:一对多关系问题
- python - 如何使用 python 从网页中检索信息并使代码吐出
- string - 如何检测 mql4 中的字符串结束位置?
- javascript - 在任意深度的嵌套数组中查找值
- c - PostgreSQL:我的 C (libpq) 程序如何检测哪个表约束触发了错误?
- ruby-on-rails - 如何在 Rspec 中测试环境变量的存在
- woocommerce - 如何为每个项目、每个用户和每个日期设置 WooCommerce 订单的最大限制
- c# - CanFreeze 返回 false,因为 Freezable 上的 DependencyProperty 的值是一个表达式