2015-05-21 66 views
0

我正在使用此Gist from Tom Morgan來測試發送IM。我登錄到我的Lync 2013客戶端,當我啓動它的應用程序時,我立即得到我的測試消息,假設我承認/點擊彈出通知接受新對話。Lync 2013 SDK ..強制即時傳遞沒有延遲?

如果我不點擊彈出窗口,似乎會有一個隨機的20-30秒的延遲,然後BeginSendInstantMessage被觸發並顯示消息。

如果我關閉了Visual Studio應用程序,但此對話窗口仍然存在,但將對話窗口保持打開狀態,然後重新運行該應用程序。它不會向我顯示此次彈出的新對話,即使現有對話窗口具有焦點,但在消息出現之前仍有30秒的延遲時間。

此行爲是否可以更改,以便我的消息立即發送?

謝謝 FLO

回答

0

首先,感謝您的名字,檢查吉斯特 - 高興有人正在使用它!

我認爲您所描述的是Lync的工作原理 - 即使您從另一個Lync客戶端發送它,您仍然可以看到這30秒的內容,如果您忽略該消息在該時間之後仍然提供的彈出窗口。

我認爲它的原因是你可能在許多不同的設備(不同的終端)上登錄。 Lync會將您的消息發送給所有終端,並等待查看您的操作。如果您接受特定端點上的消息,則該會話的所有未來消息都會到達那裏。但是,如果您忽略它,最終Lync客戶端將自動接受您的消息。

此行爲(如果我記得)在Lync 2010中微妙地不同,客戶端在顯示彈出窗口時會立即自動接受消息。

當您將對話窗口打開並重新運行應用程序時,發生了什麼情況是您在兩件事之間陷入困境。首先,你正在創建一個全新的對話,以及一個新的對話ID等等.Lync客戶端正在做它的「啊,新的對話,讓我們拭目以待,看看其他端點是否接受它」。但同時,Lync客戶端「足夠聰明」,足以猜測您可能不想與同一收件人進行兩次對話,並將您的對話組合在一個窗口中。這就是爲什麼你沒有得到彈出窗口(Lync客戶端分組你的對話),但得到延遲(Lync客戶端處理新的會話),然後消息到達同一窗口(Lync客戶端分組你的對話)。

這是一個特殊的邊緣案例,客戶端並沒有很好地處理,但我不認爲有任何好的方法來解決它。

+0

太好了,謝謝你抽空回覆。很有幫助。我試圖使用Lync作爲ChatBot風格的警報系統,但是對於單獨的線路消息,並沒有真正確認'對話'......看起來Lync不能被告知玩的很好。我已經測試了持久性聊天SDK,這似乎工作正常,但目標是允許發送到個人以及房間。好吧。 –