根据编程人员指南"6.5.3.2第3层:网络"一节中的文档、我将为 UDP 和 TCP 设置第3层原始套接字。 具体而言、我将该模块集成到 LWIP 堆栈中、以有效地使该模块成为 LWIP 网络。 我们目前有一个 LWIP 以太网到蜂窝 NAT "热点"、因此任务是通过 CC3120 AP WIFI 执行同样的操作。
连接 LWIP"接口"的原始 UDP 套接字似乎都运行良好、只不过原始 TCP 套接字只接收目标地址= CC3120配置 IP 地址的数据包。 我已经尝试了几乎所有组合,包括在 IN_ADDR_ANY 或0.0.0.0中执行 bind ()的 BSD 套接字方法。 但运气不好。 当然、如果 CC3120是"网关"、这是必需的、因为客户端将发送与网关/CC3120 IP 不同的目标 IP 的数据包。
这是否可行、也是否有任何技巧可让原始套接字在没有 dest IP 过滤器的情况下将所有 IN 数据包接收到模块? 似乎我非常高兴能够让它充分发挥作用、因为除了"网关/NAT"问题外、似乎一切都很好。 但不幸的是、我可能不得不采用其他一些不太理想的方法来使其成为"热点"。。 例如代理或 PPTP 连接。