Ruby監控網路傳送斷開警告資訊

2021-06-03 13:00:22 字數 1553 閱讀 8621

2009-12-17 14:03 佚名  

字型大小:t

|  t

我們這次為大家舉出的ruby監控網路的**範例,是乙個定時監控網路中斷的**編寫方式。希望可以起到方便大家理解的作用。

ad:

ruby語言的出現,讓不少程式設計人員找到了程式設計中的快樂之處。它的熟練應用可以幫助我們減少大量的程式設計時間,完好的完成我們所需要的功能。在這裡我們就介紹其中ruby監控網路的一些實現技巧。

ruby監控網路任務一:寫乙個ruby程式,每50秒鐘向某個位址ping一次,如果沒有相應,那麼就傳送警告資訊。

require 'ping'   

def every_n_seconds(n)   

loop do   

before

= time

.now   

yield   

interval

=n-(time.now-before)   

sleep(interval) if interval>0   

end   

end   

every_n_seconds(50) do   

pingresult

=ping

.pingecho

("www.sina.com")   

puts pingresult   

if pingresult

="true"

else   

puts "傳送ping訊息失敗!"   

end   

end 

這裡的技巧

我們把乙個方法塊傳遞給了函式every_n_seconds,我們不但傳遞了變數「n」,還傳遞了方法。

yield是乙個關鍵字,傳遞過去的方法在這個地方使用。,sleep也是乙個關鍵字。這裡用到了ping的ruby 標準庫。

ruby監控網路任務二:寫乙個ruby 的伺服器程式(soap),如果客服端呼叫,那麼返回乙個:hello

伺服器端的編碼:

require 'soap/rpc/standaloneserver'  

class myserver

<

soap::rpc::standaloneserver

def initialize(*args)  

super  

add_method(self,'sayhelloto','username')  

end  

end  

class myserver  

def sayhelloto(username)  

"hello ,#."  

end  

end  

server

=myserver

.new('coolserver'

,'urn:mysoapserver','localhost',8888)  

trap('int')   

server.start  

以上就是對ruby監控網路的一些技巧的講解應用。

Ruby傳送HTTP請求

ruby使用http協議傳送請求的方法備忘。好像這個包裡面就很好用 require open uri 1.建立http連線 通過get方式傳送請求引數 ruby require open uri 如果有get請求引數直接寫在uri位址中 2.通過post傳送請求引數 返回的cookie puts r...

html 實時監控傳送資料

我們都知道ajax可以做非同步提交,可以從乙個檔案裡得到返回的資料,如此便能夠實時的得到資料,實時重新整理頁面,如下 setinterval function 3000 第二種方法 可以通過html 的乙個函式 eventsource來實現這個功能。如下 div data role footer p...

Ruby網路程式設計(1)

關鍵字 size xx large tcpsocket tcpserver size 這個例子是這樣的 客戶端連上伺服器後,伺服器向客戶端的終端顯示伺服器的時間,然後將來自客戶端的網路連線養關閉。img my tcp server.rb require socket get sockets from...