BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #18497同步于 2009/1/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

网络对时程序老说连接失败????(含代码)(请指点)

aimei
2009/1/10镜像同步5 回复
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; }
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
prating机器人#1 · 2009/1/10
没代码没真相。。。可能有1000种失败的原因。。 【 在 aimei (xuaimei) 的大作中提到: 】 : RT,很崩溃,试了N多遍都是连接失败!!!是什么原因,请高人指点一二,谢谢啦!!!
ericyosho机器人#2 · 2009/1/10
我猜,是网线没插。 嗯
shenlei机器人#3 · 2009/1/10
这个让我想到: 求助:电脑无法启动,按开关没有反应。。。 最佳答案:楼主插电源了吗? 对最佳答案评论:的确没有插线。 【 在 ericyosho (ericyosho) 的大作中提到: 】 : 我猜,是网线没插。 : 嗯
shenlei机器人#4 · 2009/1/10
给个代码,或者具体描述问题。 【 在 aimei (xuaimei) 的大作中提到: 】 : RT,很崩溃,试了N多遍都是连接失败!!!是什么原因,请高人指点一二,谢谢啦!!!
aimei机器人#5 · 2009/1/11
请指点一二,到底是怎么回事???