二进制文件和文本文件的区别:
http://blog.csdn.net/qingyue_bao/article/details/6590110
http://blog.csdn.net/seu_xuxueqi/article/details/621904
tcp流传输与二进制流区别:
http://blog.csdn.net/qingyue_bao/article/details/6590110
socket发送不同的数据类型:
http://blog.csdn.net/ikerpeng/article/details/38387171
tcp流与二进制流是一个概念,但不是说tcp流就是二进制文件流(tcp传输的方式主要包括:1.将结构体转成字符串格式进行传输,2.利用json进行传输 3.利用对象(上面链接说可以用对象指针传输有误)4.protobuf),本质上,tcp流都属于二进制,那为什么叫二进制流呢?那是因为tcp传输时,如果缓存足够大,可以一次性传输多个包,这就是TCP所谓的字节流传输,而udp是数据报传输,所以udp传输时即使缓存再大,一次也只是发送一条数据,具体可参照下面链接。这就像二进制文件,是按bit存储数据的,无论什么数据结构都会揉在一起。再提一句POD数据类型,POD数据类型采用C的数据类型,不能有虚函数等,POD类型通过memcpy拷贝还能保持数据不变(memcpy是按字节拷贝),POD类型有点像二进制编码,能节约空间,充分利用每个字节存储数据,只不过二进制编码采用的是按bit(位)存储。
http://blog.csdn.net/hanghang121/article/details/48675963
注意:tcp是字节流传输,而不是bit流,真正的bit流传输在物理层