使用udp发送广播数据,发送出错,请前辈帮忙!
各位前辈,小弟近日在编写一个使用udp进行广播的动态库程序,广播地址为255.255.255.255。在win2000下开发,在本机上测试没有发现问题,可以正常使用。交给客户使用,客户反映无法使用。经过测试,在比较干净的电脑上确实无法使用,函数出错返回。程序如下;
class UDPSocket : public CAsyncSocket
{
......
}
UDPSocket *g_pUDPSocket;//此为全局指针
extern "C" int __stdcall udp_broadcast(SEARCHECHO Proc)
{
int sendlen;
BOOL bBroadcast = true;
g_pUDPSocket->NewDeviceProc = Proc;
g_pUDPSocket->SetSockOpt(SO_BROADCAST, (BOOL*)&bBroadcast, sizeof(BOOL));
sendlen = g_pUDPSocket->SendTo("X", 1, 65535, "255.255.255.255");
if (sendlen == SOCKET_ERROR)
{
return (g_pUDPSocket->GetLastError());
}
else
return(1);
}
函数返回10022,表示SendTo使用了一个无效的参数。百思不得其解,不知哪位前辈可以告知?
class UDPSocket : public CAsyncSocket
{
......
}
UDPSocket *g_pUDPSocket;//此为全局指针
extern "C" int __stdcall udp_broadcast(SEARCHECHO Proc)
{
int sendlen;
BOOL bBroadcast = true;
g_pUDPSocket->NewDeviceProc = Proc;
g_pUDPSocket->SetSockOpt(SO_BROADCAST, (BOOL*)&bBroadcast, sizeof(BOOL));
sendlen = g_pUDPSocket->SendTo("X", 1, 65535, "255.255.255.255");
if (sendlen == SOCKET_ERROR)
{
return (g_pUDPSocket->GetLastError());
}
else
return(1);
}
函数返回10022,表示SendTo使用了一个无效的参数。百思不得其解,不知哪位前辈可以告知?
...全文
相关推荐
c# UDP 局域网异步通讯实现广播,接收发送string数据
UDP 局域网异步通讯实现广播,接收发送string数据 用户就可以在一个局域网中聊天了。
LINUX 下UDP发送广播
LINUX 下UDP发送广播,已编译好,可直接在linux下运行,文件包含客户端与服务端
c# UDP 广播的接受发送,监听的使用
使用了UDP,线程监听的使用,委托的方式
vc2010下使用UDP协议实现广播通信(初学:发送和接收)
使用UDP实现数据通信,网上大多采用客户接收端和服务端分离的方式,该程序代码为了方便采用线程的方式写在一个MFC程序中,方便大家初学时学习。调试环境:win7 64 vs2010.
使用MATLAB实现UDP广播数据报
UDP使用地址“255.255.255.255”进行局域网广播,定时每10秒发送一次数据报,数据包内容为当前电脑的日期和时间


网络编程

