ThreadFuncForComm.cpp
上传用户:szopptop
上传日期:2013-04-23
资源大小:1047k
文件大小:1k
源码类别:

模拟服务器

开发平台:

Visual C++

  1. #include "stdafx.h"
  2. #define PACKET_KEEPALIVE "%--$"
  3. extern HWND g_hToolBar;
  4. extern HWND g_hStatusBar;
  5. extern SOCKET g_csock;
  6. extern SOCKADDR_IN g_caddr;
  7. BOOL jRegGetKey(LPCTSTR pSubKeyName, LPCTSTR pValueName, LPBYTE pValue);
  8. VOID WINAPI OnTimerProc(HWND hWnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime)
  9. {
  10. switch (idEvent)
  11. {
  12. case _ID_TIMER_KEEPALIVE:
  13. {
  14. if (g_csock != INVALID_SOCKET)
  15. {
  16. SendSocketMsgS(GM_CHECKCLIENT, 0, 0, 0, 0, NULL);
  17. SendMessage(g_hStatusBar, SB_SETTEXT, MAKEWORD(2, 0), (LPARAM)_TEXT("Check Activity"));
  18. }
  19. break;
  20. }
  21. case _ID_TIMER_CONNECTSERVER:
  22. {
  23. if (g_csock == INVALID_SOCKET)
  24. {
  25. DWORD dwIP = 0;
  26. int nPort = 0;
  27. InsertLogMsg(IDS_APPLY_RECONNECT);
  28. jRegGetKey(_GAMEGATE_SERVER_REGISTRY, _TEXT("RemoteIP"), (LPBYTE)&dwIP);
  29. if (!jRegGetKey(_GAMEGATE_SERVER_REGISTRY, _TEXT("RemotePort"), (LPBYTE)&nPort))
  30. nPort = 5000;
  31. ConnectToServer(g_csock, &g_caddr, _IDM_CLIENTSOCK_MSG, NULL, dwIP, nPort, FD_CONNECT|FD_READ|FD_CLOSE);
  32. }
  33. break;
  34. }
  35. }
  36. }