UDP Socket
广播中,sendto()将数据发送到一个结尾为“255”的IP地址,应用中发现sendto()函数耗时过长。参考了“http://topic.csdn.net/t/20040722/22/3201560.html”中的内容后,经过在自己的局域网内实验,得到以下经验:
1、广播到“*.*.*.255”耗时很长(此时局域网内只要很少机台机子工作并接受该广播数据,而不是整个IP段的机子都在工作),可以用setsockopt函数设置sendto的超时时间:
SetSendTimeOutValue(unsigned int usec)
{
if( !IsValid() ) return false;
int sta = -1;
int msec;
msec = usec/1000;
if(msec < 1) msec = 1;
unsigned int seco = (unsigned int)usec/1000000;
unsigned int useco = usec00000;
struct timeval tv_out;
1、广播到“*.*.*.255”耗时很长(此时局域网内只要很少机台机子工作并接受该广播数据,而不是整个IP段的机子都在工作),可以用setsockopt函数设置sendto的超时时间:
SetSendTimeOutValue(unsigned int usec)
{
if( !IsValid() ) return false;
int sta = -1;
int msec;
msec = usec/1000;
if(msec < 1) msec = 1;
unsigned int seco = (unsigned int)usec/1000000;
unsigned int useco = usec00000;
struct timeval tv_out;
