[英]How to send acknowledgment from server to client using netty?
誰能解釋一下如何使用netty從服務器向設備發送確認。
我正在使用以下代碼:
public void messageReceived(ChannelHandlerContext ctx, MessageEvent e)
throws Exception {
String msg = null;
String IMIE = null;
String[] str = null;
String ack = null;
StringBuffer sbs = new StringBuffer();
ChannelBuffer buf = (ChannelBuffer) e.getMessage();
while(buf.readable()) {
sbs.append((char) buf.readByte());
}
msg = sbs.toString();
System.out.println(msg);
byte[] request = new byte[] { 0x01 };
e.getChannel().write(request,e.getChannel().getRemoteAddress());
System.out.flush();
並出現錯誤
java.lang.IllegalArgumentException:不支持的消息類型:class [B
請幫我。
您需要將字節數組包裝到ChannelBuffer或添加一個為您執行此操作的編碼器。 因此,最簡單的解決方法是:
public void messageReceived(ChannelHandlerContext ctx, MessageEvent e)
throws Exception {
String msg = null;
String IMIE = null;
String[] str = null;
String ack = null;
ChannelBuffer buf = null;
StringBuffer sbs = new StringBuffer();
buf = (ChannelBuffer) e.getMessage();
while(buf.readable()) {
sbs.append((char) buf.readByte());
}
msg = sbs.toString();
System.out.println(msg);
byte[] request = new byte[] { 0x01 };
e.getChannel().write(ChannelBuffers.wrappedBuffer(request));
System.out.flush();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.