返回信息流RT,很崩溃,试了N多遍都是连接失败!!!是什么原因,请高人指点一二,谢谢啦!!!以下是代码:
#define WIN32_LEAN_AND_MEAN
#include <stdio.h>
#include <stdlib.h>
#include<iostream.h>
#include<tchar.h>
#include<winsock2.h>
#define UNICODE
#define _UNICODE
#define _countof(array)(sizeof(array)/sizeof(array[0]))
//#define HIGHTIME 21968699
//#define LOWTIME 4259332096
void usage()
{
printf("\n\t--------------------------------\n");;
printf("\t=*=Time Getter v1.0\t(xam2008@tom.com)\n");
printf("\t--------------------------------\n\n");
}
bool SetTimeFromTP(ULONG ulTime)
{
FILETIME ft;
SYSTEMTIME st;
st.wYear=1900;
st.wMonth=1;
st.wDay=1;
st.wHour=0;
st.wMinute=0;
st.wSecond=0;
st.wMilliseconds=0;
SystemTimeToFileTime(&st,&ft);
LONGLONG *pLong=(LONGLONG*)&ft;
*pLong+=(LONGLONG)10000000*ulTime;
FileTimeToSystemTime(&ft,&st);
SetSystemTime(&st);
return true;
}
bool GetTimeFromServer(DWORD *lpdwtime)
{
*lpdwtime=0;
bool bReturn =false;
SOCKET scok=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(INVALID_SOCKET!=scok)
{
struct sockaddr_in sin;
sin.sin_addr.S_un.S_addr=inet_addr("210.72.145.44");
sin.sin_family=AF_INET;
sin.sin_port=htons(37);
printf("\n ... waiting connection ...\n");
if(0==connect(scok,(struct sockaddr*)&sin,sizeof(struct sockaddr_in)))
{
printf(" ***connected***\n");
int iResult;
int iRead;
for(iRead=0;iRead<4;iRead+=iResult)
{
iResult=recv(scok,(char*)lpdwtime+iRead,4-iRead,0);
if(iResult<1)
break;
}
if(4==iResult)
{
*lpdwtime=ntohl(*lpdwtime);
bReturn=true;
}
else
printf("error getting time \n");
}
else
printf(" ***connection failed ***\n");
closesocket(scok);
}
return bReturn;
}
int main(int argc,char *agrv[])
{
WSADATA wsaData;
if(WSAStartup(MAKEWORD(1,1),&wsaData)!=0)
{
printf("Wsastartup failed\n");
WSACleanup();
exit(1);
}
if(argc<2)
usage();
DWORD dwtime;
if(GetTimeFromServer(&dwtime))
{
if(SetTimeFromTP(dwtime))
printf("system clock successfully updated\n");
else
printf("error setting the system clock\n");
}
WSACleanup();
return 0;
}
这是一条镜像帖。来源:北邮人论坛 / cpp / #18497同步于 2009/1/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
网络对时程序老说连接失败????(含代码)(请指点)
aimei
2009/1/10镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
没代码没真相。。。可能有1000种失败的原因。。
【 在 aimei (xuaimei) 的大作中提到: 】
: RT,很崩溃,试了N多遍都是连接失败!!!是什么原因,请高人指点一二,谢谢啦!!!
这个让我想到:
求助:电脑无法启动,按开关没有反应。。。
最佳答案:楼主插电源了吗?
对最佳答案评论:的确没有插线。
【 在 ericyosho (ericyosho) 的大作中提到: 】
: 我猜,是网线没插。
: 嗯
给个代码,或者具体描述问题。
【 在 aimei (xuaimei) 的大作中提到: 】
: RT,很崩溃,试了N多遍都是连接失败!!!是什么原因,请高人指点一二,谢谢啦!!!