返回顶部

收藏

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. 博主 发表 2012-06-24 22:00:00 Twelve Truisms about OO in Ruby
  7. robbin 发表 2016-10-20 08:33:38 Drupal构建的分答系统-1分答
  8. 尘泥(侃) 发表 2012-12-02 10:57:27 Ruby元编程学习体会【一】
  9. Daniel Lv 发表 2015-03-25 17:10:51 一则 Ruby 和 OpenSSL CA 证书的问题
  10. zhu329599788@126 发表 2016-11-27 14:59:00 CentOS更改yum源与更新系统
  11. zrong 发表 2016-12-12 14:14:01 在 Redmine 中整合 Git 版本库
  12. 小宣宣 发表 2017-01-02 12:26:22 【NO8】新型人形机器人视觉系统-王汝鹏

发表评论