
連接協調服務器后 過幾秒自動斷開與協調服務器的連接? 找了半天都不知道問題出在哪里,那位大神了解網狐6603這套原始碼,請幫我找找源因,因為我的原始碼是從網上到處找的也不知是不是內核引擎問題還是什么?
求解!!!!!!!!!!!!!
uj5u.com熱心網友回復:
都沒有人來幫我解決問題呀uj5u.com熱心網友回復:
//建立 SOCKETm_hSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (m_hSocket == INVALID_SOCKET) throw TEXT("SOCKET 創建失敗");
//效驗引數
ASSERT(m_hSocket != INVALID_SOCKET);
ASSERT(m_cbSocketStatus == SOCKET_STATUS_IDLE);
// m_cbSocketStatus = SOCKET_STATUS_IDLE;
if (m_hWnd == NULL) Create(NULL, NULL, WS_CHILD, CRect(0, 0, 0, 0), GetDesktopWindow(), ID_SOCKET_WND, NULL);
if(m_hWnd == NULL)throw TEXT("創建內部視窗錯誤");
int iErrorCode = WSAAsyncSelect(m_hSocket, m_hWnd, WM_SOCKET_NOTIFY, FD_CONNECT | FD_READ | FD_CLOSE);
if (iErrorCode == SOCKET_ERROR) throw TEXT("系結內部視窗錯誤");
//填寫服務器地址
SOCKADDR_IN Addr;
memset(&Addr, 0, sizeof(Addr));
Addr.sin_family = AF_INET;
Addr.sin_port = htons(m_wPort);
Addr.sin_addr.S_un.S_addr = htonl(m_dwServerIP);
iErrorCode = connect(m_hSocket, (sockaddr*) & Addr, sizeof(SOCKADDR_IN));
if (SOCKET_ERROR == iErrorCode)
{
iErrorCode = WSAGetLastError();
throw TEXT("通知回呼時連接SOCKET 失敗");
}
}
catch (LPCTSTR pszError)
{
CTraceService::TraceString(pszError, TraceLevel_Exception);
}
uj5u.com熱心網友回復:
是不是WSAAsyncSelect只能用于服務器呀,網上看到的都只用于服務器連接在客戶端邊接中connect 回傳SOCKET_ERROR 不懂這方面的所以求解大神!!!!
還有就是像這種棋牌游戲用什么樣的方式設計服務器好點 如 完成埠模型??
這網上下載的內核 CTCPSocketService類都被我改得面目全非了現在能通信了,
但 是我還是想將 按WSAAsyncSelect 這種方試來通信
有木有人知道客戶端WSAAsyncSelect通信方面的呀,
uj5u.com熱心網友回復:
協調服務地址沒寫對,如果你是本地測驗的話,那把地址改為127.0.0.1,也就是ServerParaeter.ini檔案uj5u.com熱心網友回復:
不是那個問題,網上下的原始碼多少都有問題,是內核中的套接字有問題,現在修改好了uj5u.com熱心網友回復:
LZ, 能告知一下修改的什么地方嗎,我找了很久找不到什么原因。uj5u.com熱心網友回復:
hello,你的問題解決了嗎,我們遇到了同樣的問題uj5u.com熱心網友回復:
遇到了同樣的問題 樓主 能提供一下 具體是哪里問題嗎? 謝謝
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/71211.html
