【发布时间】:2014-12-08 02:26:49
【问题描述】:
需要明确的是,这个问题是指 SignalR 的 Android SDK...而不是在 android 设备上的浏览器中运行的 SignalR。
由于某种原因,我在使用无线数据网络 (3g) 时无法建立与服务器的连接。我可以通过 Web 服务连接到我的服务器并接收 JSON 数据字符串,但 SignalR 无法连接。
SignalRFuture<Void> awaitConnection = connection.start();
try {
awaitConnection.get(5000, TimeUnit.MILLISECONDS);
} catch (InterruptedException e) {
// Handle ...
} catch (ExecutionException e) {
// Handle ...
} catch (TimeoutException e) {
Log.d(TAGSR,"it timed out");
e.printStackTrace();
}
当我不在 WiFi 上时,这总是会遇到超时异常......即使我将它增加到一分钟 +。奇怪的是,一旦超时,其他上述数据就会立即加载。如果我在手机上打开 WiFi,则连接完全没有问题。
使用与我的浏览器相同的 SignalR 连接,我可以通过 3g 连接而完全没有问题……除非它在 WiFi 上,否则只有 Android SDK 版本会呕吐。 SDK 是否有一些需要一定连接速度的内置机制?如果是这样,有没有办法覆盖该值?我的 3g 不是法拉利,但它的速度足以在网络版本上运行,而且运行良好....
有什么想法吗? TIA
【问题讨论】: