C API Socket 連接時間服務器,並修改自己系統的時間(對時)

#include "stdafx.h"
#include <windows.h>
#include <windowsx.h>
#include "resource.h"
#include "MainDlg.h"
#include "winsock2.h"
/*
Template designed by RuPeng.com. Please visit http://www.rupeng.com for more information
如鵬網(http://www.rupeng.com)大學生計算機學習社區,提供大量免費視頻學習教程,提供個性化一對一學習指導
*/
BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
    switch(uMsg)
    {
        HANDLE_MSG(hWnd, WM_INITDIALOG, Main_OnInitDialog);
        HANDLE_MSG(hWnd, WM_COMMAND, Main_OnCommand);
HANDLE_MSG(hWnd,WM_CLOSE, Main_OnClose);
    }


    return FALSE;
}


BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam)
{
    return TRUE;
}


void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify)
{
    switch(id)
    {
        case IDC_OK:
{
// MessageBox(hwnd,TEXT("歡迎訪問如鵬網 www.RuPeng.com 大學生計算機學習社區"),TEXT("問好"),MB_OK);
SocketTest();
}
        break;
        default:
break;
    }
}


void SocketTest()
{
    WSADATA wsaData;
WSAStartup(MAKEWORD(2,0),&wsaData);
SOCKET sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
SOCKADDR_IN sa;
sa.sin_family=AF_INET;
sa.sin_port = htons(IPPORT_SMTP);
sa.sin_addr.S_un.S_addr = inet_addr("220.181.12.12");


if(connect(sock,(SOCKADDR *)&sa,sizeof(sa))==SOCKET_ERROR)
{
    ShowError();
// MessageBox(NULL,TEXT("錯誤"),"",0);
   return;
}
   // MessageBox(NULL,TEXT("進入"),"",0);
char buffer[256];
ZeroMemory(buffer,sizeof(buffer)/sizeof(char));
//接收問候語
recv(sock,buffer,256,0);
MessageBox(NULL,buffer,"",0);
//(5)朋友再見
//注意不能忘了末尾的回車
TCHAR cQuit[] = "QUIT\n";
send(sock,cQuit,lstrlen(cQuit),0);


ZeroMemory(buffer,sizeof(buffer)/sizeof(char));
//接收GoodBye
recv(sock,buffer,256,0);
MessageBox(NULL,buffer,"",0);
   // MessageBox(NULL,TEXT("退出"),"",0);
closesocket(sock);
WSACleanup();
}
   void ShowError()
   {
      TCHAR* lpMsgBuf;
       FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER|FORMAT_MESSAGE_FROM_SYSTEM,
  NULL,GetLastError(),MAKELANGID(LANG_NEUTRAL,SUBLANG_DEFAULT),(LPTSTR)&lpMsgBuf,
  0,NULL);
  MessageBox(NULL,lpMsgBuf,"",MB_ICONERROR);
   }


void Main_OnClose(HWND hwnd)
{
    EndDialog(hwnd, 0);
}
發佈了19 篇原創文章 · 獲贊 9 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章