我把LWIP初始化好后,创建一个线程如下
sys_thread_new(“udp”,vLWIPSendTask,RT_NULL,2048,12);
vLWIPSendTask的定义如下:
void vLWIPSendTask(u8 parameter)
{
int socket1;
char buf[1000];
int i;
rt_base_t level;
struct sockaddr_in server_addr;
for(i = 0; i < 1000; i++)
buf = i;
socket1 = socket(AF_INET,SOCK_DGRAM,0);
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(1100);
server_addr.sin_len = sizeof(server_addr);
server_addr.sin_addr.s_addr = inet_addr(“10.0.0.1”);
while(1)
{
if(sendto(socket1,buf,sizeof(buf),0,(struct sockaddr*)&server_addr,sizeof(server_addr))==-1)
{
rt_kprintf(“UDP socket ERROR!
“);
}
else
{
rt_kprintf(“UDP socket ok!
“);
}
}
closesocket(socket1);
}
现在的问题是PC机可以正确接收该数据包,但是数据包的发送间隔却是大约在1秒内,怎么会这么大的间隔时间呢,按照程序来说,应该是连续快速的发送啊