日期:2014-05-20  浏览次数:20656 次

求高手点拨一个Socket通信的“字节流传输”的实现问题.
高手,您好:
    我在写一个IM Socket通信工具.
    前两天参考了几位高手的真迹,我看到他们都是用“字符流”进行的网络中的数据传递.
    听说如果采用“字节流”进行网络中的通信文本数据的传递的话,能够提升整个系统的通信效率.
    初步了解了一下,BufferedStream这样的类,可以进行一个写出流或者读入流的包装,从而进行“字节流”的读写..
    经过在网络中的两天时间的查找,找到的能够参考的模板和高手的笔迹,都是“读写字符流”的结构设计..
    希望能够有高手相助:
    进行字节流网络通信文本数据传递的IM通信工具的工程源码文件在“两个端点的char与byte之间的转换与从网络中进行byte数据的读与写”的代码处理现场的处理代码实施办法.
    希望得到高手的“具体到源代码”的层级的相助!!
    在线等待高手的指导!!
    一百分奉上!!
    谢谢高手!!
                                                               一位日日夜夜向着理想奔跑的筑梦者
                                                               2013年11月15日中午1点50分
IM Java Swing Socket 通信软件网络读写

------解决方案--------------------
看样子楼主在搞一个声势浩大的项目。。搞了好多天了吧?
使用字符流还是字节流,这个要看你的使用场景。对于IM,如果只是文字的话我觉得字符流较好
看看这篇文章吧:http://wjheye.iteye.com/blog/1041309
------解决方案--------------------
字符流 send 出去,一样是转为字节传送的

IM的话传送字符串,接收字符串处理起来简单

用\n作为结束符,接收端很容易识别 用BufferedReader Readline


------解决方案--------------------
BufferedStream是字符流??
InputStream和OutputStream的整个类族属于字节流
Reader和Writer的这个类族才是字符流

至于使用哪种流传输效率高,这个我也不太了解,也不敢随意评论
你说的网上的代码大都使用字符流,我估计是因为字符流相对字节流来说更适合处理文本类数据

另外,你的代码呢???

我现在比较有时间,可以帮你看一看
可以直接联系我邮箱,guodong000@gmail.com
------解决方案--------------------
引用:
看样子楼主在搞一个声势浩大的项目。。搞了好多天了吧?
使用字符流还是字节流,这个要看你的使用场景。对于IM,如果只是文字的话我觉得字符流较好
看看这篇文章吧:http://wjheye.iteye.com/blog/1041309

这篇文章中的字符流有缓冲区,字节流没有缓冲区的结论严格意义上有问题
它只是指出了FileOutputStream没有缓冲区,实际上BufferedOutputStream是字节流并且是有缓冲区的,到底有没有缓冲区和流的实现是相关的。