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)