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. void SendExToServer(char *pszPacket);
  8. BOOL jRegGetKey(LPCTSTR pSubKeyName, LPCTSTR pValueName, LPBYTE pValue);
  9. VOID WINAPI OnTimerProc(HWND hWnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime)
  10. {
  11. switch (idEvent)
  12. {
  13. case _ID_TIMER_KEEPALIVE:
  14. {
  15. if (g_csock != INVALID_SOCKET)
  16. {
  17. SendExToServer(PACKET_KEEPALIVE);
  18. SendMessage(g_hStatusBar, SB_SETTEXT, MAKEWORD(2, 0), (LPARAM)_TEXT("Check Activity"));
  19. }
  20. break;
  21. }
  22. case _ID_TIMER_CONNECTSERVER:
  23. {
  24. if (g_csock == INVALID_SOCKET)
  25. {
  26. DWORD dwIP = 0;
  27. int nPort = 0;
  28. InsertLogMsg(IDS_APPLY_RECONNECT);
  29. jRegGetKey(_SELGATE_SERVER_REGISTRY, _TEXT("RemoteIP"), (LPBYTE)&dwIP);
  30. if (!jRegGetKey(_SELGATE_SERVER_REGISTRY, _TEXT("RemotePort"), (LPBYTE)&nPort))
  31. nPort = 5000;
  32. ConnectToServer(g_csock, &g_caddr, _IDM_CLIENTSOCK_MSG, NULL, dwIP, nPort, FD_CONNECT|FD_READ|FD_CLOSE);
  33. }
  34. break;
  35. }
  36. }
  37. }