linux - 如何在 Linux 上接收 AX.25 UI 帧?
问题描述
尽我所能,我就是无法让它发挥作用。
// create socket
int sock = socket(AF_AX25, SOCK_DGRAM, 0);
// bind.
struct full_sockaddr_ax25 me;
me.fsa_ax25.sax25_family = AF_AX25;
ax25_aton("M0ABC-1", &me);
bind(sock, reinterpret_cast<struct sockaddr*>(&me), sizeof(me));
// receive packet
struct full_sockaddr_ax25 sa{};
std::array<char, 4196> buf;
socklen_t salen = sizeof(sa);
auto rc = recvfrom(sock, buf.data(), buf.size(), 0, reinterpret_cast<struct sockaddr*>(&sa), &salen);
(加上错误处理,所以这不是问题)
发生的情况是,即使我看到 UI 框架axlisten -cart
recvfrom()
永远不会返回。
发送工作正常,并显示在另一侧axlisten
,但不在应用程序中:
struct full_sockaddr_ax25 sa{};
ax25_aton("M0ABC-1", &sa);
auto rc = sendto(sock, msg.data(), msg.size(), 0, reinterpret_cast<struct sockaddr*> (&sa),
sizeof(sa));
这一切都适用于SOCK_SEQPACKET
。
解决方案
推荐阅读
- access-token - 从密钥斗篷访问令牌中读取用户属性?
- css - 如何根据不同设备的视口高度提供 CSS 规则
- r - Shiny 中受密码保护的仪表板选项卡
- windows - 从 C: 驱动器中删除特定扩展文件,但两个文件夹除外
- python - 如何使用while循环创建python程序,3的倍数
- r - 在 R Shiny APP 的反应式中调用变量
- javascript - D3 图表:使用 d3.axisLeft(y) 方法时,如何防止 Y 轴网格线使用整个图表宽度
- apache-kafka - 在单词计数应用程序的上下文中,Kafka KTable 中的单词计数从某个随机值开始
- reactjs - 从公共文件夹反应 svg
- python - SARIMAX 残差