所以,我有一个工作的TCP Echo示例工作。我试图完成的是能够接收TCP传输,以及通过TCP和UDP发送数据。我正在使用原始LWIP,并将有一个PC应用程序,我将与之交互。我希望能够按需发送UDP广播或TCP单播。我遇到了sendto函数发生-6(ERR_VAL -6/*非法值。* /)错误的问题。任何关于我可能会丢失的信息都会有所帮助。我在得到一个UDP广播工作第一遍是在这里(目前我只是说此功能echo.c的底部):原始LWIP UDP广播
void echo_tx()
{
// Attempt a UDP Broadcast
// l_udp_pcb
err_t wr_err = ERR_OK;
struct pbuf *p = pbuf_alloc(PBUF_TRANSPORT, 1024, PBUF_RAM);
l_udp_pcb = udp_new();
wr_err = udp_bind(l_udp_pcb, IP_ADDR_ANY, 0);
wr_err = udp_connect(l_udp_pcb, IP_ADDR_ANY, 10);
unsigned char buffer_send[1024] = "My Name Is What";
p->payload = buffer_send;
p->len = 1024;
p->tot_len = 1024;
wr_err = udp_sendto(l_udp_pcb,p, IP_ADDR_BROADCAST, 10);
if(wr_err != ERR_OK)
{
wr_err = udp_sendto(l_udp_pcb,p, IP_ADDR_BROADCAST, 10);
}
pbuf_free(p);
}