我是java和Web应用程序的新手。我希望在以下问题上提供帮助。我有一个java服务器,它使用websocket与web应用程序通信。此服务器使用TCP / IP连接Web应用程序。当我尝试从java服务器向Web应用程序发送文本和字符串时,我可以使用以下代码轻松传递它们
public void sendMessage(byte[] msg, Socket s) throws IOException {
System.out.println("Sending to client");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
BufferedOutputStream os = new BufferedOutputStream(s.getOutputStream());
baos.write(SINGLE_FRAME_UNMASKED);
baos.write(msg.length);
baos.write(msg);
baos.flush();
baos.close();
convertAndPrint(baos.toByteArray());
os.write(baos.toByteArray(), 0, baos.size());
os.flush();
}
和
private void convertAndPrint(byte[] bytes) {
StringBuilder sb = new StringBuilder();
for (byte b : bytes) {
sb.append(String.format("%02X ", b));
}
System.out.println(sb.toString());
}
现在,我想以与上面类似的方式将protobuf数据从此java服务器传递到Web应用程序。我在java端序列化对象如下
Person.Builder reqBuilder=Person.newBuilder();
reqBuilder.setName("suchitra");
Person req=reqBuilder.build();
j.sendMessage1(req,socket1);
当我尝试发送此序列化对象req时,我收到错误,程序不起作用。 请朋友们,告诉我什么是错的,应该怎么做才能将这个对象传递给Web应用程序端。任何示例或代码段对我都非常有帮助。非常感谢。