日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
Ruby監(jiān)控網(wǎng)絡(luò)發(fā)送斷開(kāi)警告信息

Ruby語(yǔ)言的出現(xiàn),讓不少編程人員找到了編程中的快樂(lè)之處。它的熟練應(yīng)用可以幫助我們減少大量的編程時(shí)間,完好的完成我們所需要的功能。在這里我們就介紹其中Ruby監(jiān)控網(wǎng)絡(luò)的一些實(shí)現(xiàn)技巧。#t#

Ruby監(jiān)控網(wǎng)絡(luò)任務(wù)一:寫(xiě)一個(gè)ruby程序,每50秒鐘向某個(gè)地址ping一次,如果沒(méi)有相應(yīng),那么就發(fā)送警告信息。

  1. require 'ping'   
  2. def every_n_seconds(n)   
  3. loop do   
  4. before= Time.now   
  5. yield   
  6. interval=n-(Time.now-before)   
  7. sleep(interval) if interval>0   
  8. end   
  9. end   
  10. every_n_seconds(50) do   
  11. pingresult=Ping.pingecho
    ("www.sina.com")   
  12. puts pingresult   
  13. if pingresult="true"   
  14. puts "我向新浪的主機(jī)發(fā)送ping消息!"   
  15. else   
  16. puts "發(fā)送ping消息失敗!"   
  17. end   
  18. end 

這里的技巧

我們把一個(gè)方法塊傳遞給了函數(shù)every_n_seconds,我們不但傳遞了變量“n”,還傳遞了方法。

yield是一個(gè)關(guān)鍵字,傳遞過(guò)去的方法在這個(gè)地方使用。,sleep也是一個(gè)關(guān)鍵字。這里用到了ping的ruby 標(biāo)準(zhǔn)庫(kù)。

Ruby監(jiān)控網(wǎng)絡(luò)任務(wù)二:寫(xiě)一個(gè)ruby 的服務(wù)器程序(soap),如果客服端調(diào)用,那么返回一個(gè):hello

服務(wù)器端的編碼:

 
 
 
  1. require 'soap/rpc/standaloneServer'  
  2. class MyServer
  3. def initialize(*args)  
  4. super  
  5. add_method(self,'sayhelloto','username')  
  6. end  
  7. end  
  8. class MyServer  
  9. def sayhelloto(username)  
  10. "hello ,#{username}."  
  11. end  
  12. end  
  13. server=MyServer.new('coolserver'
    ,'urn:mySoapServer','localhost',8888)  
  14. trap('INT') {Server.shutdown}  
  15. server.start  

以上就是對(duì)Ruby監(jiān)控網(wǎng)絡(luò)的一些技巧的講解應(yīng)用。


分享標(biāo)題:Ruby監(jiān)控網(wǎng)絡(luò)發(fā)送斷開(kāi)警告信息
網(wǎng)頁(yè)路徑:http://m.5511xx.com/article/dpcciip.html