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);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值