test_igmp_Snd = udp_new();
err = udp_bind(test_igmp_Snd, IP_ADDR_ANY, TEST_IGMP_SERVER_PORT);
udp_recv(test_igmp_Snd, test_igmp_recCallback, NULL);
test_igmp_recCallback(void *arg, struct udp_pcb *upcb, struct pbuf *p, const ip_addr_t *addr, u16_t port)
err_t sendIGMP(struct udp_pcb *upcb, struct ip4_addr *addr, u16_t port, uint8_t *data, uint16_t data_length)
#include "UDPSocket.h"
#include "math.h"
#include "arm_math.h"
#define ECHO_SERVER_PORT 8000
#define SERVER_ADDR "192.168.31.30"
static const char* mbedIp = "192.168.31.106"; //IP
static const char* mbedMask = "255.255.255.0"; // Mask
static const char* mbedGateway = "192.168.31.1"; //Gateway
int main (void) {
EthernetInterface eth;
eth.set_network(mbedIp,mbedMask,mbedGateway);
eth.connect();
printf("\nServer IP Address is %s\n", eth.get_ip_address());
UDPSocket server;
server.open(ð);
server.bind(eth.get_ip_address(),ECHO_SERVER_PORT);
SocketAddress client_addr;
char buffer[1024];
while (true) {
int n = server.recvfrom(&client_addr, buffer, sizeof(buffer));
server.sendto(client_addr.get_ip_address(),ECHO_SERVER_PORT, buffer, 1024);
}
}
《Mbed OS 文档翻译 之 参考(API(网络套接字(UDPSocket)))》