socket通信的老问题,错误10038--->试图在一个非套接字上进行一个操作,帮我看下我的程序,就剩下这些分了- -!~

wangqinfeng 2006-10-24 10:59:22
case WM_SERVERSOCKET1:
{
SOCKET s = (SOCKET) wParam;
if(WSAGETSELECTERROR(lParam))
{
MessageBox(NULL, TEXT("WM_SERVERSOCKET1 WSAGETSELECTERROR(lParam)"), NULL, MB_OK);
closesocket((SOCKET) wParam);
return 0;
}

switch(WSAGETSELECTEVENT(lParam))
{
case FD_ACCEPT:
{
MessageBox(NULL, TEXT("WM_SERVERSOCKET1 Begin FD_ACCEPT"), NULL, MB_OK);
int len = sizeof(SOCKADDR_IN);

SOCKET s2 = accept(s, (sockaddr*)&sa1, &len);

if(WSAAsyncSelect(s2, hWnd, UM_SOCK1, FD_READ | FD_CLOSE) == SOCKET_ERROR)
{
TCHAR szMsg[1024] = {0};
wsprintf(szMsg, TEXT("WSAAsyncSelect error %d"), WSAGetLastError());
MessageBox(NULL, szMsg, szMsg, MB_OK);
closesocket(s);
}
MessageBox(NULL, TEXT("WM_SERVERSOCKET1 After FD_ACCEPT"), NULL, MB_OK);
}
break;
case FD_CLOSE:
::closesocket(s);
break;
}
}


case UM_SOCK1:
{
//clientSocket1 = (SOCKET) wParam;
SOCKET s = (SOCKET)wParam;
if(WSAGETSELECTERROR(lParam))
{
MessageBox(NULL, TEXT("WSAGETSELECTERROR(lParam)"), TEXT("WSAGETSELECTERROR(lParam)"), MB_OK);
closesocket(s);
return 0;
}
switch(WSAGETSELECTEVENT(lParam))
{
case FD_READ:
{
MessageBox(NULL, TEXT("FD_READ"), TEXT("FD_READ"), MB_OK);
char szBuffer[1024]={0};
while(1)
{
ret = recv(s ,szBuffer,BUFFER_SIZE,0);
if(ret == 0)
{
MessageBox(NULL, TEXT("Ret == 0"), TEXT("Ret == 0"), NULL);
break;
}
else if(ret == SOCKET_ERROR)
{
DWORD error_no = WSAGetLastError();
TCHAR szMsg[1024] = {0};
wsprintf(szMsg, TEXT("Ret == SOCKET_ERROR error_no = %d"), error_no);
MessageBox(NULL, szMsg, szMsg, NULL);
//closesocket(s);
break;
}
}
}
为什么会出现题目中的错误呀!~~~~~~~~~~~~~~~~请赐教,,
...全文
489 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
无知者无谓 2006-11-17
  • 打赏
  • 举报
回复
同意楼上的,你的那个是socket的,不要随便就(SOCKET)
rickerliang 2006-10-24
  • 打赏
  • 举报
回复
为lz这句话

就剩下这些分了- -!~

帮顶~~~~~
xiao1987 2006-10-24
  • 打赏
  • 举报
回复
另外10038:表示套接字创建或传递错误,你可以在创建时调试一下看此时的值和传递之后
(SOCKET) wParam强制转换的值是否相等,若不等就是传递错误
xiao1987 2006-10-24
  • 打赏
  • 举报
回复
WSAAsyncSelect的第二个参数改为m_hWnd试试!

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧