解决方案 »
- 请问,请问 MFC程序为什么不能execute??????
- 如何在文本中特定的位置进行读写?
- 请教关于strcpy()的使用问题
- STL问题:如何取一个LIST的一部分放到另一个LIST中?
- 请问要让用户能动态改变一窗口中CTreeCtrl和CListCtrl的大小应该如何做?
- 我的对话框中有一个Edit box框,我如何判断里面没输入值时焦点返回到Editbox中
- 关于GetPrivateProfileString和CString的问题,请指点
- 请问如果变量的名字也是变量,语句该怎么写?
- 哪里有电子图示下载呀(特别是数据库方面的)?请各位帮忙
- 调用dll中的类出错
- MFC对话框加载PNG背景图片后,使用GDI重绘,加入的静态文本框在WM_CTLCOLOR消息中设置文本框透明,但绘制出来的为黑色,怎样才能让静态文本框透明
- MFC中Windows编程的套接字信息的交互
listen(sListen,3);
WSAAsyncSelect(sListen,hWnd,WM_USER+0,FD_ACCEPT);
顺序对吗?
能进去么?
说明根本没有连接成功,也没有阻塞在connect处,所以你的服务根本没有建立起来,即listen都没有成功。
这句出了问题,在客户端不能把地址设为AF_INET,如果你在自己机器上调试就用“127.0.0.1”吧。试试看
{
MessageBox(hWnd,"4","4",MB_OK);
break ;
}
发现也没有出现MessageBox(hWnd,"4","4",MB_OK);所以listen是成功才对
#define WSAGETSELECTEVENT(lParam) LOWORD(lParam)
#define WSAGETSELECTERROR(lParam) HIWORD(lParam)另外,楼上有人说了local.sin_family = AF_INET;可能有问题,但也可能不是这里的问题,例如我在linux下,这样写就完全没有问题,在win7下就有问题。
{
case FD_ACCEPT:
// 增加
if (WSAGETSELECTERROR(lParam)) // 成功时是 0.
break;
sClient = accept(wParam,(struct sockaddr *)&local,&iAddrSize);
WSAAsyncSelect(sClient,hWnd,WM_USER+0,FD_READ|FD_CLOSE);
break;