我是套接字编程的新手,我一直在关注像http://www.myandroidsolutions.com/2012/07/20/android-tcp-connection-tutorial/这样的几个教程,并且能够使用socket在TCP上构建客户端 - 服务器架构。
问题是,这些教程是基本的,所以他们教你如何使用PrintWriter
和BufferedReader
来发送,这似乎是在写String
。我必须加密我的数据并将其发送为byte[]
,因此问题将是:
PrintWriter
和BufferedReader
吗?如果不是那么DataOutputStream
和DataInputStream
以及其他几个,但没有发现它们的区别或为什么要使用其中一种。PS:加密部分已经完成,所以不用担心,因为这不是问题:)
答案 0 :(得分:7)
您应该使用OutputStream
进行编写,并使用InputStream
进行阅读。这些是二进制数据 - 后缀为Writer
或Reader
的任何内容都是 text 数据。
您可能查找DataOutputStream
和DataInputStream
有用 - 它们基本上会添加一些包含在OutputStream
内的服务。但是,如果您只需要将byte[]
写入流中,那么普通OutputStream
就可以了。