返回顶部

收藏

ruby 自动对时器 win32

更多
#! rubyw.exe
# encoding: gbk
require 'socket'
require 'time'
require 'cstruct/win32struct'
require 'cstruct'
require 'windows/time'
include Windows::Time

class Systemtime < Win32Struct
    int16:wYear
    WORD :wMonth
    WORD:wDayOfWeek
    WORD:wDay
    WORD:wHour
    WORD:wMinute
    WORD:wSecond
    WORD:wMilliseconds
end

def set_clock(time)
    local_time = Systemtime.new
    local_time.wYear          = time.year
    local_time.wMonth         = time.month
    local_time.wDay           = time.day
    local_time.wHour          = time.hour
    local_time.wMinute        = time.min
    local_time.wSecond        = time.sec
    local_time.wMilliseconds  = time.usec/1000
    SetLocalTime(local_time.data)
end

$geted = false
def g(s)
    exit if $geted
    t=s.recv(2000).match(/date:.*$/i)[0]
    sleep 0.5
    p t
    $geted = true
    puts 'get time'
    set_clock(Time.parse t[5..-1])
end

`title 自动对时`
20.times{|x|
    p 20-x
    sleep 1
}

#取http服务器时间
TCPSocket.open("www.g.cn", 80) {|s|
    s.send "GET / HTTP/1.0\\r\\n\\r\\n", 0
    20.times{ g(s) } 
}
#该片段来自于http://outofmemory.cn

标签:ruby,系统

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. 博主 发表 2012-11-26 08:00:00 Mac系统下安装ruby
  2. 博主 发表 2014-03-25 13:05:00 Ruby 实现的简易推荐系统
  3. 博主 发表 2018-01-02 00:00:00 卸载系统中所有 Ruby 包
  4. 博主 发表 2018-01-02 00:00:00 卸载系统中所有 Ruby 包
  5. 博主 发表 2017-02-05 02:33:54 ruby需要一个静态类型验证系统
  6. zhiwei 发表 2013-10-29 12:53:38 Linux系统下通过USB给iPad充电
  7. master 发表 2013-11-14 16:26:10 升级到Mac OS X 10.9 “Mavericks”
  8. 博主 发表 2013-09-24 10:02:00 Web系统性能调优常用技巧
  9. 博主 发表 2013-06-18 16:00:00 【Etsy 的 Kale 系统】skyline 的过滤算法
  10. MK 发表 2014-02-18 14:36:56 系统硬件信息查看器Speccy Technician Edition技术员版本
  11. Conan Zhang 发表 2014-03-16 13:53:47 用Puppet进行系统管理
  12. 博主 发表 2013-01-07 14:16:00 HTTP Verb: POST, PUT和PATCH的区别

发表评论