求高手点拨一个Socket通信的“字节流传输”的实现问题.
高手,您好:
我在写一个IM Socket通信工具.
前两天参考了几位高手的真迹,我看到他们都是用“字符流”进行的网络中的数据传递.
听说如果采用“字节流”进行网络中的通信文本数据的传递的话,能够提升整个系统的通信效率.
初步了解了一下,BufferedStream这样的类,可以进行一个写出流或者读入流的包装,从而进行“字节流”的读写..
经过在网络中的两天时间的查找,找到的能够参考的模板和高手的笔迹,都是“读写字符流”的结构设计..
希望能够有高手相助:
进行字节流网络通信文本数据传递的IM通信工具的工程源码文件在“两个端点的char与byte之间的转换与从网络中进行byte数据的读与写”的代码处理现场的处理代码实施办法.
希望得到高手的“具体到源代码”的层级的相助!!
在线等待高手的指导!!
一百分奉上!!
谢谢高手!!
一位日日夜夜向着理想奔跑的筑梦者
2013年11月15日中午1点50分
------解决方案--------------------看样子楼主在搞一个声势浩大的项目。。搞了好多天了吧?
使用字符流还是字节流,这个要看你的使用场景。对于IM,如果只是文字的话我觉得字符流较好
看看这篇文章吧:http://wjheye.iteye.com/blog/1041309
------解决方案--------------------字符流 send 出去,一样是转为字节传送的
IM的话传送字符串,接收字符串处理起来简单
用\n作为结束符,接收端很容易识别 用BufferedReader Readline
------解决方案--------------------BufferedStream是字符流??
InputStream和OutputStream的整个类族属于字节流
Reader和Writer的这个类族才是字符流
至于使用哪种流传输效率高,这个我也不太了解,也不敢随意评论
你说的网上的代码大都使用字符流,我估计是因为字符流相对字节流来说更适合处理文本类数据
另外,你的代码呢???
我现在比较有时间,可以帮你看一看
可以直接联系我邮箱,guodong000@gmail.com
------解决方案--------------------
这篇文章中的字符流有缓冲区,字节流没有缓冲区的结论严格意义上有问题
它只是指出了FileOutputStream没有缓冲区,实际上BufferedOutputStream是字节流并且是有缓冲区的,到底有没有缓冲区和流的实现是相关的。