Lync 2013 SDK.强制IM立即交付

本文关键字:交付 IM 强制 2013 SDK Lync | 更新日期: 2023-09-27 17:50:03

我正在使用Tom Morgan的这个Gist来测试发送即时消息。我登录到我的Lync 2013客户端,当我启动应用程序,它的工作,我得到我的测试消息立即假设我承认/点击弹出通知接受新的对话。

但是,如果我不单击弹出窗口,在BeginSendInstantMessage被触发和消息出现之前,似乎有一个随机的20-30秒延迟。

这个延迟也存在,如果我关闭visual studio应用程序,但保持对话窗口打开,然后重新运行应用程序。它不会向我显示新的对话弹出,即使现有的对话窗口有焦点。在消息出现之前还有30秒的延迟。

是否可以更改此行为以使我的消息立即传递?

谢谢你,弗洛

Lync 2013 SDK.强制IM立即交付

首先,感谢您的名字检查要点-很高兴有人在使用它!

我认为你所描述的是内置在Lync的工作方式-这30秒是你看到的,即使你从另一个Lync客户端发送,如果你忽略弹出窗口,消息仍然会在这段时间后发送。

我认为原因是您可能在许多不同的设备(不同的端点)上登录。Lync将向所有端点发出您的消息的信号,并等待您的操作。如果在特定端点上接受消息,那么该对话的所有未来消息都将发送到那里。但是,如果您忽略它,最终Lync客户端将自动接受您的消息。

这种行为(如果我记得的话)在Lync 2010中略有不同,客户端会在显示弹出窗口时立即自动接受消息。

当你保持对话窗口打开并重新运行应用程序时发生的事情是你被卡在两件事之间。第一件事是你创建了一个全新的会话,有一个新的会话ID等等。Lync客户端正在做它的"啊,新的对话,让我们等一下,看看其他端点是否接收到它"。然而,与此同时,Lync客户端"聪明"到足以猜测您可能并不打算与同一收件人进行两个对话,并且将您的对话分组到一个窗口中。这就是为什么您不会看到弹出窗口(Lync客户端对您的对话进行分组),但会看到延迟(Lync客户端处理新对话),然后消息到达同一窗口。(Lync客户端分组您的对话)。

这是一个特殊的边缘情况,客户并没有处理得特别好,但我不认为有任何好的方法来解决它。