以下是我的客户端代码,要么返回10057(连接失败) 或者是未发送成功。或者接收不到数据。
请指点。多谢!
#include <afxsock.h>void CTestDlg::OnButton1()
{
CAsyncSocket m_sConnectSocket;m_sConnectSocket.Create();
TRACE("ClientSock.Create error: %d\n", GetLastError()); m_sConnectSocket.Connect(CString(serverIpAddr), socketport); DWORD sent;
//发生数据到服务器
sent = m_sConnectSocket.Send( pszDst, nLen-1+4 );
//获取服务器返回数据长度
byte bufferlen[4];
memset(bufferlen,0,4);
m_sConnectSocket.Receive(bufferlen, 4);
len=bufferlen[0]+bufferlen[1]*255+bufferlen[2]*255*255+bufferlen[3]*255*255*255;//获取服务器返回数据
char *pBuf = new char[len];
DWORD iRcvd;
iRcvd = m_sConnectSocket.Receive(pBuf,len);//显示收到的数据
。。
}
请指点。多谢!
#include <afxsock.h>void CTestDlg::OnButton1()
{
CAsyncSocket m_sConnectSocket;m_sConnectSocket.Create();
TRACE("ClientSock.Create error: %d\n", GetLastError()); m_sConnectSocket.Connect(CString(serverIpAddr), socketport); DWORD sent;
//发生数据到服务器
sent = m_sConnectSocket.Send( pszDst, nLen-1+4 );
//获取服务器返回数据长度
byte bufferlen[4];
memset(bufferlen,0,4);
m_sConnectSocket.Receive(bufferlen, 4);
len=bufferlen[0]+bufferlen[1]*255+bufferlen[2]*255*255+bufferlen[3]*255*255*255;//获取服务器返回数据
char *pBuf = new char[len];
DWORD iRcvd;
iRcvd = m_sConnectSocket.Receive(pBuf,len);//显示收到的数据
。。
}
确保,IP地址和端口号正确,当然server端也要正常的运行。
派生casyncsocket类吧,自己在OnConnect,OnReceive里写代码。。