簡體   English   中英

套接字流可以在服務器中的ss.event.on上起作用

[英]Can socketstream act on ss.event.on in server

我正在使用發布/訂閱系統將消息發布到Redis服務器。 我將Socketstream 0.3與node.js一起使用以偵聽和處理這些消息。 在客戶端代碼(app.js)中,我可以使用ss.event.on對這些消息進行處理:

ss.event.on "portux", (object) ->
  # Handle messages of the type Switch 3 true (to switch 3 on) or Switch 2 false
  if object.type is "Switch" 
  sw = object.location
  # the cmd is now in the quantity field
  cmd = object.quantity
  if object.value then cmd += 'On;' else cmd += 'Off;'
  send cmd

但是,在其中一些消息上,即使沒有瀏覽器訪問該網站,我也希望系統運行。 換句話說,我希望它位於根目錄下的app.js(或app.coffee)中,或位於服務器/ rpc中,以便無論何時有瀏覽器打開網站,它都會在消息到達時執行。

當我嘗試這樣做時,我在ss.event.on(未定義對象)上收到一條錯誤消息。 我也嘗試過使用ss.api.event.on,但看起來只能在客戶端代碼中接收消息。 這是真的? 有沒有其他方法可以實現我想要的?

彼得

如果您在服務器上,則可以直接在觸發事件的同一位置直接調用該函數。

如果您致力於事件的語義范式,則可以使用事件樣式將(函數等的)命名命名為主題。
您還可以深入研究Node的事件發射器庫,並以這種方式進行自定義。

這就是您要浪費時間來遵循程序組織的嚴格面向事件的范例的全部方法。

最簡單的事情就是評論者Deif提到的,只需直接調用該函數即可。 您(將)從同一位置觸發事件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM