zoukankan      html  css  js  c++  java
  • protobuf的使用

    最近项目中用到protobuf,特地研究了一下.protobuf主要是将对象序列化的一种协议,但是因为google加入了自己的算法该对象所占用的空间比较小。

    个人也是按照下面的url进行测试:

    http://www.cnblogs.com/dcba1112/archive/2011/05/01/2034028.html

    测试过程中发现下面的问题:

    1, 编译版本和jar版本应该一致,不然会出现不匹配的问题,该url下载编译工具

    http://code.google.com/p/protobuf/downloads/detail?name=protoc-2.4.1-win32.zip&can=2&q=

    下面的url下载生成jar包得代码:

    http://code.google.com/p/protobuf/downloads/detail?name=protobuf-2.4.1.zip&can=2&q=

    2. 客户端程序应该放和服务器端的运行在同一个应用程序中不然会出现一下问题:

     An unexpected error has been detected by Java Runtime Environment:

    #

    #  Internal Error (classFileParser.cpp:2923), pid=6084, tid=616

    #  Error: ShouldNotReachHere()

    #

    # Java VM: Java HotSpot(TM) Client VM (11.2-b01 mixed mode windows-x86)

    # If you would like to submit a bug report, please visit:

    #   http://java.sun.com/webapps/bugreport/crash.jsp

    #

    ---------------  T H R E A D  ---------------

    Current thread (0x00846c00):  JavaThread "Unknown thread" [_thread_in_vm, id=616, stack(0x008e0000,0x00930000)]

    Stack: [0x008e0000,0x00930000]

    [error occurred during error reporting (printing stack bounds), id 0xc0000005]

    ---------------  P R O C E S S  ---------------

    Java Threads: ( => current thread )

    Other Threads:

    =>0x00846c00 (exited) JavaThread "Unknown thread" [_thread_in_vm, id=616, stack(0x008e0000,0x00930000)]

    VM state:not at safepoint (not fully initialized)

    VM Mutex/Monitor currently owned by a thread: None

    Dynamic libraries:

    0x00400000 - 0x00424000 C:\Program Files\Java\jre6\bin\javaw.exe

    0x7c920000 - 0x7c9b3000 C:\WINDOWS\system32\ntdll.dll

    0x7c800000 - 0x7c91e000 C:\WINDOWS\system32\kernel32.dll

    0x77da0000 - 0x77e49000 C:\WINDOWS\system32\ADVAPI32.dll

    0x77e50000 - 0x77ee2000 C:\WINDOWS\system32\RPCRT4.dll

    0x77fc0000 - 0x77fd1000 C:\WINDOWS\system32\Secur32.dll

    0x77d10000 - 0x77da0000 C:\WINDOWS\system32\USER32.dll

    0x77ef0000 - 0x77f39000 C:\WINDOWS\system32\GDI32.dll

    0x76300000 - 0x7631d000 C:\WINDOWS\system32\IMM32.DLL

    0x62c20000 - 0x62c29000 C:\WINDOWS\system32\LPK.DLL

    0x73fa0000 - 0x7400b000 C:\WINDOWS\system32\USP10.dll

    0x7c340000 - 0x7c396000 C:\Program Files\Java\jre6\bin\msvcr71.dll

    0x6d800000 - 0x6da56000 C:\Program Files\Java\jre6\bin\client\jvm.dll

    0x76b10000 - 0x76b3a000 C:\WINDOWS\system32\WINMM.dll

    0x6d290000 - 0x6d298000 C:\Program Files\Java\jre6\bin\hpi.dll

    0x76bc0000 - 0x76bcb000 C:\WINDOWS\system32\PSAPI.DLL

    0x6d380000 - 0x6d3a9000 C:\Program Files\Java\jre6\bin\jdwp.dll

    0x6d6a0000 - 0x6d6a6000 C:\Program Files\Java\jre6\bin\npt.dll

    0x6d7b0000 - 0x6d7bc000 C:\Program Files\Java\jre6\bin\verify.dll

    0x6d330000 - 0x6d34f000 C:\Program Files\Java\jre6\bin\java.dll

    0x6d7f0000 - 0x6d7ff000 C:\Program Files\Java\jre6\bin\zip.dll

    VM Arguments:

    jvm_args: -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:4727 -Dfile.encoding=GB18030 -Xbootclasspath:D:\TOOLS\SDK\android-sdk-windows2.2\android-sdk-windows\platforms\android-8\android.jar 

    java_command: com.tv.app.protobuf.ProtoBufServer

    Launcher Type: SUN_STANDARD

    Environment Variables:

    JAVA_HOME=C:\Program Files\Java\jdk1.5.0_06

    PATH=C:/Program Files/Java/jdk1.5.0_06/bin/../jre/bin/client;C:/Program Files/Java/jdk1.5.0_06/bin/../jre/bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\TortoiseSVN\bin;D:\TOOLS\SDK\android-sdk-windows2.2\android-sdk-windows\tools;C:\Program Files\IDM Computer Solutions\UltraEdit-32;D:\TOOLS\ant-1.7\ant\bin;

    USERNAME=chrbu

    OS=Windows_NT

    PROCESSOR_IDENTIFIER=x86 Family 6 Model 23 Stepping 10, GenuineIntel

    ---------------  S Y S T E M  ---------------

    OS: Windows XP Build 2600 Service Pack 3

    CPU:total 2 (2 cores per cpu, 1 threads per core) family 6 model 7 stepping 10, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3

    Memory: 4k page, physical 2097151k(1716192k free), swap 4194303k(3669164k free)

    vm_info: Java HotSpot(TM) Client VM (11.2-b01) for windows-x86 JRE (1.6.0_12-b04), built on Jan 17 2009 09:57:14 by "java_re" with MS VC++ 7.1

    time: Fri Aug 26 16:09:29 2011

    elapsed time: 0 seconds

    3. 我用2.4的protoc出现下面问题:

    E:\workspace\ProtoBuf\src\addressbook.proto: File does not reside within any path specified using --proto_path (or -I).  You must specify a --proto_path which encompasses this file.  Note that the proto_path must be an exact prefix of the .proto file names -- protoc is too dumb to figure out when two paths (e.g. absolute and relative) are equivalent (it's harder than you think)

    不知道谁能解决

  • 相关阅读:
    Vulnhub-靶机-DJINN: 1
    8.8-9 sqlmap从入门到精通-其中小技巧-分析大文件日志技巧
    Vulnhub-靶机-EVM: 1
    8.7 sqlmap从入门到精通-Linux服务器登录连接日志分析
    Linux操作系统常规的分析SSH登录日志需要使用的命令和记录
    CentOS最小安装无法使用ifconfig命令
    CentOS7下安装FTP服务
    解决Centos7安装后无法联网的问题
    Maven引入本地jar包
    Tomcat下安装solr6.x
  • 原文地址:https://www.cnblogs.com/budoudou/p/2154954.html
Copyright © 2011-2022 走看看