Protobuf数据从java到webapplication

时间:2014-04-22 12:51:53

标签: java web-applications protocol-buffers

我是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应用程序端。任何示例或代码段对我都非常有帮助。非常感谢。

0 个答案:

没有答案