2012-10-29 79 views
1

我有麻煩綁定到服務器地址。我有一個連接,到服務器(使用Savon XML庫)。現在我只需要聽該服務器並收集它發送的HTTP數據包。服務器每次發送:UDP套接字和紅寶石

http://200.34.12.168/Videos/1/frame/0 
http://200.34.12.168/Videos/1/frame/1 
http://200.34.12.168/Videos/1/frame/2 
http://200.34.12.168/Videos/1/frame/3 
http://200.34.12.168/Videos/1/frame/4 
... 
.. 

這是HTTP數據包。我正在嘗試創建一個偵聽這些的UDP服務器。這是我到目前爲止:

s = UDPSocket.new 
    s.bind('200.34.12.168', 80) 

    5.times do 
    text, sender = s.recvfrom(16) 
    puts text 
    end 

它在綁定函數失敗。我怎樣才能用ruby監聽UDP連接?

的錯誤,我得到: 「'綁定':不能分配請求的地址 - 綁定(2)(錯誤:: EADDRNOTAVAIL)」

+3

'bind()'的錯誤信息是什麼?是不是暗示UDP服務器不可用/無法識別的協議/或類似的東西? HTTP和UDP是兩個完全不同的協議,它們(AFAIR)不會相互理解,他們**可能攜帶相同的有效載荷,但它們不會相互理解。 –

+0

@TestTest ahhh只是試圖理解你的問題,你試圖連接一個TCP服務器(HTTP服務器)使用UDP連接,如果是的話,它在我的意義上是奇怪的TCP和UDP是兩個不同的協議我沒有看到任何成功在你做什麼perhap 'bind'工作正常,因爲它無法使用UDP連接連接到TCP套接字如果我錯了,請糾正我的錯誤 – Viren

+0

我添加了我得到的錯誤。 –

回答

0

你有一個網頁瀏覽器中運行 - 這可能已經綁定到端口80 ..

+0

我沒有爲此使用瀏覽器 –