這幾天在學MFC網路編程這一塊,之前用VC6.0,后來改用VS2010,現在說一下問題:之前VC6.0寫好的程式與測驗工具連接沒問題,收發資料也沒有問題,但是換成VS2010可以建立連接,可以發送資料,每次接收都報錯,
,點擊重試,在下面中斷了

希望好心人,告訴我哪里出毛病了,查了好幾天才查到這。
代碼如下:
ON_MESSAGE(CM_RECEIVE,ReceiveInfo)

uj5u.com熱心網友回復:
buffer 小了 ? 加大試試 (10k)uj5u.com熱心網友回復:
vc6.0編譯器不嚴謹,寫出來的程式bug也很多的方便的話發原始碼給我,幫你調
uj5u.com熱心網友回復:
避免緩沖區溢位, 字串加0結束
char chBuff[1024+1];
int iRcv = recv(s , chBuff, 1024, 0);
if(iRcv > 0)
{
chBuff[iRcv]=0;
::MessageBoxA(m_hWnd, chBuff, "recv", MB_OK);
}
uj5u.com熱心網友回復:
還是同樣錯誤uj5u.com熱心網友回復:
發給你了,老哥uj5u.com熱心網友回復:
#define CM_RECEIVE 1000
改成
#define CM_RECEIVE (WM_USER+1)
WSAAsyncSelect(m_SockClient, m_hWnd, 1000, FD_READ);
改成
WSAAsyncSelect(m_SockClient, m_hWnd, CM_RECEIVE, FD_READ);
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/23474.html
標籤:網絡編程
下一篇:關于影像傅里葉變換的問題
