网络通信与网络调试助手连不上是怎么回事呢

bluesmile2012 2017-04-07 08:22:13

下面是我写的,请问大家是缺了什么呢?谢谢大家啊


void CNetworkView::OnSock(WPARAM wParam, LPARAM lParam)
{
SOCKET ss=wParam;//wParam参数标志了网络事件发生的套接口
m_cNetFlag = (char)0x00;

switch(LOWORD(lParam))
{
case FD_ACCEPT:

m_bSwitchTimerFlag = TRUE;

SOCKADDR_IN addrClient;
int Cltlen;
Cltlen=sizeof(SOCKADDR);
m_socketCon1=accept(m_socket1,(SOCKADDR*)&addrClient,&Cltlen);
if(m_socketCon1==INVALID_SOCKET)
{
MessageBox(_T("网络应答失败!"));
return;

}
// ((CStatic *)GetDlgItem(IDC_bmpNet))->SetBitmap(::LoadBitmap(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDB_BitmapGreen)));

if(SOCKET_ERROR==WSAAsyncSelect(m_socketCon1,m_hWnd,UM_SOCK1,FD_READ|FD_CLOSE|FD_ACCEPT))
{
MessageBox(_T("注册网络读取事件失败!"));
return;
}

break;
case FD_READ:

WSABUF wsabuf;
wsabuf.buf=new char[200];
memset(wsabuf.buf,0,200);
wsabuf.len=200;
DWORD dwRead;
DWORD dwFlag;
dwFlag=0;
dwRead=0;

if(SOCKET_ERROR==WSARecv(ss,&wsabuf,1,&dwRead,&dwFlag,NULL,NULL))
{
MessageBox(_T("注册网络读取事件失败!"));

delete[] wsabuf.buf;
//closesocket(ss);
return;

}

if(dwRead<2)
{
MessageBox(_T("网络接收数据无效!"));
delete[] wsabuf.buf;
return;
}
SetDlgItemText(IDC_EDIT_Rev,(LPCTSTR)wsabuf.buf);
//AnalyzeRecv(wsabuf.buf,dwRead,1);
//Sleep(2);
delete[] wsabuf.buf;
break;
case FD_WRITE:

WSABUF wsaSendBuf;
wsaSendBuf.buf="communication is successful";
wsabuf.len=strlen(wsaSendBuf.buf)+1;
DWORD dwSend;

if(SOCKET_ERROR==WSASend(ss,&wsaSendBuf,1,&dwSend,0,NULL,NULL))
{
MessageBox(_T("网络连接失败!"));

delete[] wsaSendBuf.buf;
//closesocket(ss);
return;

}

break;

case FD_CLOSE:

closesocket(ss);
break;

default:
;
}
}


void CNetworkView::SocketInitial()
{
//端口1000对应的套接字
m_socket1=WSASocket(AF_INET,SOCK_STREAM,0,NULL,0,0);
if(INVALID_SOCKET==m_socket1)
{
MessageBox(_T("创建端口1000套接字失败!"));
return;
}

SOCKADDR_IN addrSrv1;
//addrSrv1.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
addrSrv1.sin_addr.S_un.S_addr=inet_addr("192.168.1.102");
addrSrv1.sin_family=AF_INET;
addrSrv1.sin_port=htons(1000);

if(SOCKET_ERROR==bind(m_socket1,(SOCKADDR*)&addrSrv1,sizeof(SOCKADDR)))
{
MessageBox(_T("端口1000绑定失败!"));
return;

}
if(SOCKET_ERROR==listen(m_socket1,5))
{
MessageBox(_T("端口1000监听失败!"));
return;

}

if(SOCKET_ERROR==WSAAsyncSelect(m_socket1,m_hWnd,UM_SOCK1,FD_ACCEPT|FD_CLOSE))
{
MessageBox(_T("注册端口1000网络读取事件失败!"));
return;

}
}
...全文
1425 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2017-04-10
  • 打赏
  • 举报
回复
能ping或telnet通吗?
oyljerry 2017-04-10
  • 打赏
  • 举报
回复
起码先看看连接不上的错误信息是什么

18,363

社区成员

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

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