首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

大家帮小弟我看看这样发送结构体正确吗

2012-09-02 
大家帮我看看这样发送结构体正确吗?if (SOCKET_ERRORsend(m_socket,(char *)&sendto,sizeof(sendto),0))

大家帮我看看这样发送结构体正确吗?
if (SOCKET_ERROR==send(m_socket,(char *)&sendto,sizeof(sendto),0))
{
MessageBox("发送信息失败");
return;
}

运行到这儿会出现DEBUG Assertion Failed!那个对话框,怎么回事?是编译器的 问题还是程序的问题。在以前有个程序里我这样都可以发送,这里和那个程序的唯一区别就是把套接字设为了全局变量,应该没什么影响吧


[解决办法]
语法目前没问题

sendto是结构体实体对象吧?

m_socket这个疑点最大了
[解决办法]
结构体发送格式没错,就看m_socket是否有问题
[解决办法]
这里和那个程序的唯一区别就是把套接字设为了全局变量?
有可能是因为你在调用socket的函数之前,还没有进行socket库的初始化(WSAStartup),
造成了创建的套接字无效
[解决办法]
这个错误是send api函数里面的Assert断言错误,估计是针对套接字m_socket来的,可以之前判断if(INVALID_SOCKET == m_socket).也有可能是sizeof()里面抛出来的,看一下,这个sendto的定义,貌似它是一个api的函数名吧。有时编译器很怪异的,尽量不要用这样的变量名。

热点排行