2012-04-05 32 views
-1

我試圖與2個xmpp客戶端進行通信,但這不像消息傳遞或聊天。這更像是一端引發的事件,另一端執行的操作(實時)。我希望當客戶端A嘗試向客戶端B發送數據包時不會有任何延遲時間。如果可用,是否有任何可能的方法來最小化它應該被忽略。是否有可能做到這一點或通過其他方式?xmpp(smack - openfire)無延遲時間?

回答

0

首先,這仍然是短信。

至於延遲,在進程之間發送數據時總會有一些延遲。你沒有說出你正在尋找什麼容忍度而不是你所得到的,所以很難說你應該怎麼做來改進它們。

任何當前延遲的最大因素是消息大小和網絡速度。當然,直接的點對點通信會爲您的消息刪除一跳,但如果不知道您的應用,則無法說明這是否是可接受的方向。

一個小的消息應該在幾毫秒內快速網絡上傳遞。如果它是一個慢速網絡,那麼你的問題就在於任何通信協議之外。

+0

Hi Robin,謝謝你的回覆。我明白,會有一些延遲。所以這是我的用例。消息大小將非常少,每個只有3個字符。基本上試圖開發像這樣的遊戲http://www.youtube.com/watch?v=WRONDJO28mk「繪製一些東西」,將人物繪製表面值的x和y座標跨服務器發送到另一臺設備以獲取更新和顯示那裏。你的流程正確嗎?!你能幫我嗎? – Wesley 2012-04-05 19:17:42

+0

Draw Something不能實時工作,它是一個異步遊戲。我做了類似於你所描述的事情(同步,不像Draw Something),延遲並不成問題。你是否真的親自測試過它,看它是如何執行的? – Marc 2012-04-05 19:36:47

+0

感謝Marc的回覆。是的朋友,我用openfire測試了發送消息(基本上是一個類似於應用程序的聊天)。但我認爲,如果這也是一樣的,也可以在遊戲中實現某些東西。但現在看到你的答案「Draw Something不能實時工作,這是一個異步遊戲」 - 我不知道什麼是異步遊戲!你能幫我解決一些問題或線索,以幫助我構建類似的東西來繪製一些我期待的功能嗎? (P.S-我還沒有嘗試過它作爲一款遊戲,但是想要弄清楚一些事情,以獲得一些清晰的想法)請幫助。 – Wesley 2012-04-05 19:48:30