DataOutputStream和OutputStream之间交错调用

同一公共Socket,

在OutputStream outputStream = socket.getOutputStream和DataOutputStream dataOutputStream = new DataOutputStream(outputStream )之间来回调用会存在问题。

 

InputStream和OutputStream是您可以使用的最通用的IO流,它们是Java中所有流的基类.您只能使用它们读取和写入原始字节. DataInputStream写入格式化的二进制数据.您可以读取Bytes,Integer,Double,Float,Short,UTF-8字符串以及该数据的任何混合,而不仅仅是简单的无格式字节.对于DataOutputStream也可以这么说,除了它写入这些更高级别的数据类型. DataInputStream / DataOutputStream具有对InputStream / OutputStream的引用,它读取原始字节并将这些字节解释为前面提到的数据类型.

InputStream和Reader两个抽象类是所有输入流的基类
OutputStream和Writer两个抽象类是所有输出流的基类


要写入连接的套接字,可以使用
socket.getOutputStream().write
或者从套接字OutputStream创建一个新的DataOutputStream并写入.
在OutputStream上使用DataOutputStream有哪些优点或缺点?
DataOutputStream确保数据以平台独立的方式格式化.这是最大的好处.它确保另一方的派对能够阅读.两者之间没有显着的性能差异.
您只能在传输原始二进制数据时使用OutputStream.

 

 

 

网友:《android客户端用socket不间断传输图片 》
利用DataOutputStream和DataInputStream实现由android客户端利用Socket向java服务器不间断传输图片,很好用。
之间试过由OutpuStream.write(byte[])以及先将图片byte[]通过Base64加密转换为String再发送,效果都不好,
可能是由于图片数据比文本数据还是相对大很多,发送一次还行,但是做不到不间断传输。

 

网友:《Android和服务端通过Socket收发文字图片的实现》
文本:
OutputStream.write()方法发送(加换行符),BufferedReader.readLine()等待接收数据,按行读取数据BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
图片:
DataOutputStream.write()将图片字节数组发送给客户端(通过FileInputStream将图片数据读入字节数组中,或者ByteArrayOutputStream),客户端DataInputStream的read接收

 

使用Android将实时视频流传输到服务器 - 程序园  http://www.voidcn.com/article/p-nqfrgtyw-bsx.html

 

 

 

 

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值