我正在使用android autobahn websocket在android和python龙卷风套接字服务器之间建立连接。

以下是在android中使用的高速公路Websocket代码。

public void start(){

    final String wsuri = ip;

    try {
        mConnection.connect(wsuri, new WebSocketHandler() {

            @Override
            public void onOpen() {
                Log.d(TAG, "Connected to " + wsuri);

            }

            @Override
            public void onTextMessage(String payload) {
                Log.d(TAG, "Got echo: " + payload);

            try{

                InputStream stream = new ByteArrayInputStream(Base64.decode((payload).getBytes(), Base64.DEFAULT));
                Bitmap bitmap = BitmapFactory.decodeStream(stream);

                image.setImageBitmap(bitmap);

            } catch (Exception e) {
                Log.d("got exception:", e.toString());

            }



            }

            @Override
            public void onClose(int code, String reason) {
                Log.d(TAG, "Connection lost.");
                Toast.makeText(Project12.this, "Server is Closed", Toast.LENGTH_SHORT).show();
            }
        });

    } catch (WebSocketException e) {

        Log.d(TAG, e.toString());
        Toast.makeText(Project12.this, "Given IP Adress is not available", Toast.LENGTH_SHORT).show();
        return;
    }
}

所有消息都以public void onTextMessage(Object payload)方法接收。

问题是,当从python套接字服务器发送小于128 kb的图像时,它能够接收它。但是当发送大于128 kb的图像时,它显示以下错误。

WebSocketException(de.tavendo.autobahn.WebSocketException:帧有效负载太大)

那么如何增加帧有效负载大小。

===============>>#1 票数:0

您需要像这样使用WebSocketOptions:

  WebSocketOptions options = new WebSocketOptions();
  options.setMaxMessagePayloadSize(1000000); //max size of message
  options.setMaxFramePayloadSize(1000000); //max size of frame
  mConnection.connect(wsuri, new WebSocketHandler() {},options);

  ask by Rakesh Wadbudhe translate from so

未解决问题?本站智能推荐:

2回复

高速公路websocket

我正在评估和构建一个带有autobahn websocket的简单websocket服务器 有没有人使用子类WrappingWebSocketServerProtocol ,是否有使用此实现的任何示例? 与WebSocketServerProtocol相比有什么好处以及要覆盖/实现的子方
2回复

如何在高速公路中设置组件角色

我正在使用交叉开关0.11.1,并且我想让高速公路组件使用特定的角色。 当我向组件添加“角色”属性时,如下所示: 运行crossbar start时出现此错误
1回复

如何从高速公路python脚本中删除此错误?

我在下面的链接中关注有关高速公路python的教程; https://github.com/tavendo/AutobahnPython/blob/master/examples/twisted/wamp/app/calculator/calculator.py 导致错误的代码如下;
4回复

使用tac文件使用twistd运行时的高速公路websocket问题

我有一个使用autobahn WebSocket框架使用twisted实现的WebSocket服务器。 当程序使用python运行时,WebSocket服务器运行正常。 但是,如果我通过创建tac文件作为扭曲服务使用twistd服务器运行程序运行它,我在服务器中得到以下错误,而任何客户端尝试
1回复

使用Autobahn进行WebSocket通信,而不是从服务器接收

我通过WebSockets实现Autobahn与服务器的连接。 当我点击连接时,它会正确打开套接字并记录该套接字是否已打开。 然后我尝试向服务器发送一个简单{"request":"getSoftwareVersion"} ,当服务器收到这个{"request":"getSoftwareVer
1回复

如何在使用Autobahn Python和Twisted ReconnectingClientFactory重新连接后重新注册WAMP被调用者?

我有一个使用Twisted的Autobahn Python客户端应用程序,它连接到Crossbar.io服务器。 使用ReconnectingClientFactory丢失网络连接后,客户端应用程序可以成功重新连接。 客户端在连接时注册被叫方名称,以便其他应用程序可以调用它。 这始终适用于
1回复

所有HTTP标头键在Autobahn websocket服务器的ConnectionRequest.headers中均以小写形式出现

为什么高速公路Web套接字服务器将所有http标头密钥更改为小写? 我需要在OAuth2标准的标头中实现身份验证令牌,并使用自定义标头'Authorization:Bearer $ token'。 但是从WebSocketServerProtocol类的onConnect方法中的autoba
1回复

Websockets连接有时在Android Autobahn上丢失

我在Android和iOS上都有聊天应用程序。 在Android上,我正在使用高速公路。 在iOS上,我使用SocketRocket。 在服务器端,我正在使用Autobahn for Python。 有时,由于连接断开,我的消息将无法在Android上发送。 我还没有在iOS上看到
2回复

在WAMP WS中获取所需客户端时引起的开销

我已经使用python编程语言提供的WAMP WS创建了一个websocket服务器。 我有一个要求,我要一次用WAMP WS服务器订阅约500个客户端。 但是,当我发布数据时,我将根据某些条件仅将其发送给单个客户端。 我知道,循环遍历清单列表并找出符合条件的对象,然后将数据发送到
1回复

避免重复的高速公路连接

如何确保高速公路仅创建一个连接? 是否有可能无论是对现有的连接检查之前调用connection.open ,或者杀死所有其他连接connection.onopen ?