同一局网下有一台服务器和若干台客户机,要求客户机的系统时间都和服务器同步,可以定时1小时同步一次。我用Socket通信做了一下,但水平有限,总是有问题。求高人给个源码,不需要很详细,把重点写出来就行了,先谢了!!!

解决方案 »

  1.   

    使用一个DOS即可解决。
    time [/t] [/time] [Hours:[Minutes[:Seconds[.Hundredths]]][{A | P}]]
      

  2.   

    如果有域的话。所有客户端加入域就可以保证。
    还有就是代码实现。
    Socket通信获取到的服务器时间+网络来回的时间总和/2 
      

  3.   

    纠正2楼: 应该是 net timeNET TIME
    [\\computername | /DOMAIN[:domainname] | /RTSDOMAIN[:domainname]] [/SET]
             [\\computername] /QUERYSNTP
             [\\computername] /SETSNTP[:ntp server list]先与时间服务器建立IPC连接 ( net ipc 命令 ),然后执行 net time.
      

  4.   

    各种 达人,没有域呀,就是最简单的对等网而且也和Internet没有联接
      

  5.   

    没有域 没有连接 Internet 也可以用net time命令啊?不知道你为什么要强调这两点呢? 如果你可以自己试一下就会知道。net time \\10.63.11.201 /set在C# 中调用CMD命令:Process myProcess = new Process;
    myProcess.StartInfo.FileName = "cmd.exe";
    myProcess.StartInfo.UseShellExecute = false;
    myProcess.StartInfo.RedirectStandardInput = true;
    myProcess.StartInfo.RedirectStandardOutput = true;
    myProcess.StartInfo.RedirectStandardError = true;
    myProcess.StartInfo.CreateNoWindow = false;
    myProcess.Start();
    myProcess.StandardInput.WriteLine( "net use \\\\" +  CptIP + "\\ipc$ /user:" + 用户名 + " " + 密码 );
    myProcess.StandardInput.WriteLine( "net time \\你服务器IP /set);
    myProcess.StandardInput.WriteLine( 释放IPC连接);
    myProcess->StandardInput->WriteLine("exit");myProcess.Close();
      

  6.   

    向服务器发个请求,服务器返回时间,这么简单Socket能有什么问题?把你的问题代码贴出来亮个相呢。
      

  7.   

    我输入 net time \\10.63.11.201 /set 返回 :
          发生系统错误5。
         拒绝访问。
    TO:qldsrx
      我是菜鸟,对Socket的应用还不会,我写的代码没可看性了,所以也不贴了,你能把这个应用的重点写成代码贴给我看看吗?谢谢了
      

  8.   

    你没有建立IPC连接,首先是 net use 命令myProcess.StandardInput.WriteLine( "net use \\\\" +  你服务器IP + "\\ipc$ /user:" + 用户名 + " " + 密码 );
    myProcess.StandardInput.WriteLine( "net time \\你服务器IP /set);
      

  9.   

    net user \\192.168.1.22\ipc$ /user:administrator 密码返回:
     
    发生系统错误 1385。
    登录失败:未授予用户在此计算机上的请求登录类型。郁闷呀,这个方法好像也有很多问题存在,要开权限??我都用administrator用户了呀