android c# websocket
【摘要】 android 发送图片,调试时,能正常收到,一旦错乱,后面全部错乱了。
websocket判断第一位数据大于128,否则,就会解析出错。
int a = (156 & 0x80);
或者解析长度为127,则只能读取127位数据,后面的数据都丢了。
出错原因估计是丢包了。
public static void startHttpClientW...
android 发送图片,调试时,能正常收到,一旦错乱,后面全部错乱了。
websocket判断第一位数据大于128,否则,就会解析出错。
int a = (156 & 0x80);
或者解析长度为127,则只能读取127位数据,后面的数据都丢了。
出错原因估计是丢包了。
public static void startHttpClientWebSocket() {
AsyncHttpClient.getDefaultInstance().websocket("ws://192.168.27.54:" + PORT, null, new AsyncHttpClient.WebSocketConnectCallback() {
@Override
public void onCompleted(Exception ex, WebSocket webSocket) {
Log.i(TAG, "----------------startHttpClientWebSocket------websocket---onCompleted-" + webSocket);
if (ex != null) {
ex.printStackTrace();
return;
}
webSocket.setDataCallback(new DataCallback() {
@Override
public void onDataAvailable(DataEmitter emitter, ByteBufferList bb) {
Log.d("Socket", "接收到:" + new String(bb.getAllByteArray()));
}
});
webSocket.setClosedCallback(new CompletedCallback() {
@Override
public void onCompleted(Exception ex) {
if (ex != null) {
Log.d("Socket", "setClosedCallback出错");
return;
}
Log.d("Socket", "setClosedCallback");
}
});
webSocket.setEndCallback(new CompletedCallback() {
@Override
public void onCompleted(Exception ex) {
if (ex != null) {
Log.d("Socket", "setEndCallback出错");
return;
}
Log.d("Socket", "setEndCallback");
}
});
webSocket.setWriteableCallback(new WritableCallback() {
@Override
public void onWriteable() {
Log.d("Socket", "onWriteable");
}
});
mywebSocket=webSocket;
final String order = "测试信息";
// Util.writeAll(webSocket, order.getBytes(), new CompletedCallback() {
// @Override
// public void onCompleted(Exception ex) {
// if (ex != null) {
// Log.d("Socket", "writeAll出错");
// return;
// }
// Log.d("Socket", "发送了:" + order);
// }
// });
}
});
byte[] encode = Base64.encode(rawImage1, Base64.DEFAULT);
// String base64 = new String(encode);
// String faceBase64 = bitmapToBase64(bitmap).replace("=", "").replace("/", "_").replace("+", "-").replace("\n", "");
final String order = "测试信息";
Util.writeAll(AsynUtils.mywebSocket, encode, new CompletedCallback() {
@Override
public void onCompleted(Exception ex) {
if (ex != null) {
Log.d("Socket", "writeAll出错");
return;
}
// Log.d("Socket", "发送了:" + order);
}
});
文章来源: blog.csdn.net,作者:网奇,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/jacke121/article/details/103614276
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)