返回顶部

收藏

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. 博主 发表 2018-01-02 00:00:00 卸载系统中所有 Ruby 包
  2. 博主 发表 2018-01-02 00:00:00 卸载系统中所有 Ruby 包
  3. 博主 发表 2017-02-05 02:33:54 ruby需要一个静态类型验证系统
  4. 博主 发表 2012-11-26 08:00:00 Mac系统下安装ruby
  5. 博主 发表 2014-03-25 13:05:00 Ruby 实现的简易推荐系统
  6. 博主 发表 2013-01-23 13:05:00 设置应用内的系统控件语言
  7. 弥缝 发表 2012-11-26 00:08:00 重拾时间管理
  8. 博主 发表 2011-10-18 03:42:00 如何从零开始学会 Ruby on Rails?
  9. 博主 发表 2012-11-14 07:13:17 Ruby 中的 eigenclass 以及 method lookup
  10. 博主 发表 2006-12-11 08:00:00 ruby and unicode
  11. Era 发表 2013-03-18 01:46:35 解决小米安卓系统4.0.4不能使用Ad-Hoc(点对点)模式上网的方法
  12. 过滤阳光 发表 2013-04-06 09:18:42 西部数据硬盘第一次启动很慢

发表评论