也许你觉得标题太过夸张了。但是这个问题是我在大三的时候遇到的,现在工作了,又遇到了。
  这个问题是这样的,在java 网络编程中,在一个socket里面既传输字符数据,又传输字节数据,请问怎讲讲字符和字节数据分离开来。
  那时候,我一直在寻找解决的办法,后来有个人跟我说,这个技术价值一百万,我不知道是真是假,麻烦各位大牛证实一下,我并不希望解决这个问题!

解决方案 »

  1.   

    类似html等语言,首先设计一个转义符
    比如1A1A
    处理的时候,原来的1A1A都是1A1A1A1A
    然后在字符之前以1A1A1A1B开头数据之前以1A1A1A1C开头接受的时候,逆向处理,不就行了么
      

  2.   

    自己设一个编码方式就可以了.传输用二进制,遇到啥啥,开始读文本,遇到啥啥,开始读二进制.
    Flash的AMF算一个实现吧,不过我相信一个高效的协议实现不只一百万.
      

  3.   

    晕倒,你平时看的互联网,浏览器和服务器之间建立的不就是Socket连接啊。
    就好比计算时永远都是二进制一样,传输的其实都是字节流,只不过读写双方大家都定好了协议。比如每个数据包最前面的若干固定字节代表了这个数据包的长度、类型等信息。
    单纯的解决“在一个socket里面既传输字符数据,又传输字节数据”的技术,值不了1块钱人民币。重点是它传输的信息本身能够创造多少价值。就好比HTTP/HTML本身不值钱,但是基于它们的各个Web Site自身能创造多少价值。
      

  4.   

    都做base64编码,在base64编码的字符集外找一个字符做分隔符.是说这样的项目客户可以给100W,不是说给开发人员100W