server端accept函数的后两个参数指定为非空:
SOCKADDR_IN clientSockAddr;
int clientSockAddrSize;
accept(sock,reinterpret_cast<SOCKADDR*>(&clientSockAddr),&clientSockAddrSize);
直接返回INVALID_SOCKET,通过调用WSAGetLastError确定错误码" The addrlen parameter is too small or addr is not a valid part of the user address space."
但两个参数指定为NULL就正常了。MSDN2005上的例子也指定为NULL。 请问如果如何指定非空参数?
SOCKADDR_IN clientSockAddr;
int clientSockAddrSize;
accept(sock,reinterpret_cast<SOCKADDR*>(&clientSockAddr),&clientSockAddrSize);
直接返回INVALID_SOCKET,通过调用WSAGetLastError确定错误码" The addrlen parameter is too small or addr is not a valid part of the user address space."
但两个参数指定为NULL就正常了。MSDN2005上的例子也指定为NULL。 请问如果如何指定非空参数?
解决方案 »
- 使用双缓冲背景出现了问题求解答?
- 程序的菜单与命令按钮资源开始正常,响应一次后全部ID乱套
- 最近这段时间大家的XP系统浏览网页时有没有反应迟顿的现象
- 怎样在三层结构中combox调用数据库中的值?
- 在ATL下在Activex里创建Activex的问题,帮帮小女子吧5555555555
- Vsiual C++ 2008 express edition 是不是不能建MFC工程
- 200分求NetScape Mozilla Source Code Guide 英文电子版
- 窗体切换为什么那么慢?急救!
- 高分请教一个算法,关于沿着一个不规则图形外沿走路的算法,要多少分,您说话。
- 单击一个控件,如何让系统重新启动?
- CFileDialog 多文件选择时 如何使用GetFileTitle
- 请进:Page List 中根据文件类型显示图标
int clientSockAddrSize = sizeof(SOCKADDR_IN);
accept(sock,reinterpret_cast <SOCKADDR*>(&clientSockAddr),&clientSockAddrSize);
改成
int clientSockAddrSize = sizeof(clientSockAddr);
int clientSockAddrSize = sizeof(SOCKADDR_IN);
accept(sock,reinterpret_cast <SOCKADDR*>(&clientSockAddr),&clientSockAddrSize);