WebSocket - 状态代码 403 和状态消息 - 禁止访问
WebSocket - Status Code 403 and status message - Forbidden
我正在使用下面提到的 Apprtc.Follow 库开发视频通话应用程序。
当我将 url 更改为我的自定义服务器而不是 apprtc 服务器时,视频通话会在 1 分钟后断开。我与服务器失去了联系。
为避免与服务器失去连接,我们需要每隔大约 30 秒定期 ping 服务器。
但上面提到的 AppRTC 项目正在使用 jar 文件(autobanh.jar) 到 websocket 连接,但在库中 sendPing mentod 是私有的,因此无法访问。
问题 1 -无法 ping websocket 服务器。
替换websocet库后试试
我用下面提到的库更改了 websocket 库
- https://github.com/Koredotcom/android-kore-sdk/tree/master/BotsSDK/korebotsdklib/src/main/java/kore/botssdk/autobahn
- https://github.com/martindale/soundtrack.io-android/tree/master/src/de/tavendo/autobahn
更换websocket库后,现在我可以访问sendPing方法了。但是我在视频通话中 60 秒后仍然失去连接。
Ping 方法-
public void sendPingMessageToServer() {
try {
WebSocketMessage.Ping ping = new WebSocketMessage.Ping();
// ping.mPayload="ping to server".getBytes();
mWebSocketWriter.sendPing(ping);
} catch (Exception e) {
e.printStackTrace();
}
}
在取消注释 ping.mPayload 行时,我得到 BufferOverflowException。
30秒计时器
private void startConnectionCheckTimer() {
timerInstance.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
try {
ws.sendPingMessageToServer();
} catch (Exception e) {
e.printStackTrace();
}
}
}, 0, 30 * 1000);
}
请建议如何避免通话在 60 秒后断开。
我已经将 websocket 库更改为
https://github.com/crossbario/autobahn-java
此库具有定期自动 ping 服务器的功能。
添加后,我只修改了一个class的ApprtcDemo-WebSocketChannelClient
我正在使用下面提到的 Apprtc.Follow 库开发视频通话应用程序。
当我将 url 更改为我的自定义服务器而不是 apprtc 服务器时,视频通话会在 1 分钟后断开。我与服务器失去了联系。
为避免与服务器失去连接,我们需要每隔大约 30 秒定期 ping 服务器。
但上面提到的 AppRTC 项目正在使用 jar 文件(autobanh.jar) 到 websocket 连接,但在库中 sendPing mentod 是私有的,因此无法访问。
问题 1 -无法 ping websocket 服务器。
替换websocet库后试试 我用下面提到的库更改了 websocket 库
- https://github.com/Koredotcom/android-kore-sdk/tree/master/BotsSDK/korebotsdklib/src/main/java/kore/botssdk/autobahn
- https://github.com/martindale/soundtrack.io-android/tree/master/src/de/tavendo/autobahn
更换websocket库后,现在我可以访问sendPing方法了。但是我在视频通话中 60 秒后仍然失去连接。
Ping 方法-
public void sendPingMessageToServer() {
try {
WebSocketMessage.Ping ping = new WebSocketMessage.Ping();
// ping.mPayload="ping to server".getBytes();
mWebSocketWriter.sendPing(ping);
} catch (Exception e) {
e.printStackTrace();
}
}
在取消注释 ping.mPayload 行时,我得到 BufferOverflowException。
30秒计时器
private void startConnectionCheckTimer() {
timerInstance.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
try {
ws.sendPingMessageToServer();
} catch (Exception e) {
e.printStackTrace();
}
}
}, 0, 30 * 1000);
}
请建议如何避免通话在 60 秒后断开。
我已经将 websocket 库更改为 https://github.com/crossbario/autobahn-java
此库具有定期自动 ping 服务器的功能。 添加后,我只修改了一个class的ApprtcDemo-WebSocketChannelClient