标题: [求助] 用了altera 的demo simple socket server程序,请问有没有udp的demo 程序可 [打印本页]
作者: popeye2004 时间: 2006-4-21 17:21 标题: [求助] 用了altera 的demo simple socket server程序,请问有没有udp的demo 程序可
对lwip一点概念都没有
大概整个进程是什么样的啊
如果要实现开发板和pc的udp通讯,pc是不是也要初始化才可以
哪位有写好的udp收发的范例吗
可以发给我看看吗
jian.zhang@alumni.nus.edu.sg
作者: popeye2004 时间: 2006-5-1 22:50
初始化网络用的是simple socket server那段,然后实现如下
static void udp_test_recv(void *arg, struct udp_pcb *upcb, struct pbuf *p,
struct ip_addr *addr, u16_t port)
{
/*
printf("\nUDP packet received from: %d.%d.%d.%d : %d",
(addr->addr)&0xFF, ((addr->addr)>>8)&0xFF,
((addr->addr)>>16)&0xFF, (addr->addr)>>24, port);
*/
udp_packets++;
//printf("\nlen: %d, tot_len: %d", p->len, p->tot_len);
if (udp_packets % 1024 == 0)
printf("\n%d udp_packets received", udp_packets);
pbuf_free(p);
}
struct udp_pcb *pcb;
struct pbuf* pbuflfsr;
struct ip_addr udpDestIpAddr,udpLocalIpAddr;
pbuf_layer layer=PBUF_TRANSPORT;
pbuf_flag flag=PBUF_RAM;
u16_t size=1500;
IP4_ADDR(&udpDestIpAddr, 10, 0, 0, 52);
IP4_ADDR(&udpLocalIpAddr, 10, 0, 0, 51);
printf("udp_init\n");
udp_packets = 0;
pcb = udp_new();
udp_bind(pcb, &udpLocalIpAddr, 30);
udp_connect(pcb, &udpDestIpAddr,30);
pbuflfsr = pbuf_alloc(layer,size,flag); //Get a pbuf struct.
for(i=0;i<=size-1;i++)
{
((u8_t *)(pbuflfsr->payload)) = 0x11;
}
while(1)
{
udp_sendto(pcb, pbuflfsr, &udpDestIpAddr, 30);
}
大概就是这样,可以看到开发板开始在发送东西,开发板网口灯开始闪
另一边的计算机网卡属性显示开始收到消息包,但是指定的端口收不到消息
请问原因
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) |
Powered by Discuz! 7.0.0 |