java TCP/IP Socket编程-----发送和接受数据-----笔记7
来源:互联网 发布:mac版的easysketch 编辑:程序博客网 时间:2024/06/11 15:28
概述:
socket如何传递数据? 带目的看书会事半功倍效果,这个章我们要回答以下几个问题:
1.数据如何进行编排?
2.如何解析数据?
3.如何高效传输数据?
4.如何确定接收方的接受数据是完整的?
解决第一个问题:
1.数据如何进行编排?
数据分为四类八种 byte ,short , int ,long double float char boolean,等,每种数据类型所占的位数不同,当然底层是二进制进行编排,这里不细说,打个比喻理解一下,小时候烧实心砖的时候,记得有大砖的模子,也有小砖的模子,大小模子就是相当于占不同大小的数据类型,简单就这么理解。
2.如何解析数据?
编码端和解码端具有相同字符集(例如通常UTF-8),就是像当我们遇到有歧义的词语会借助新华字典进行解释,因为大家都是把它作为参考。
3.如何高效传输数据?
通过流的嵌套,例如老板安排一个事情给总经理这个年给我赚一个亿,总经理召集副经理开会,说老板发话了,我们这个一年赚一个亿,王副经理你们团队贡献6000万,李副经理你们也贡献4000万(你能力弱一点),接着两个经理又召集下属主管开会分配事务,一直到每个员工知道自己应该做啥。设想如果老板每个人都主动通知?呵呵呵了
DataOutputStream中,DataOutputStream再将这些数据以二进制的形式写入BufferedOutputStream将三次写入的数据缓存起来,然后再由BufferedOutputStream一次性地将这些数据写入套接字的OutputStream,最后由OutputStream将数据发送到网络。在另一个终端,我们创建了相应的组合InputStream,以有效地接收基本数据类型。
4.如何确定接收方的接受数据是完整的?
你的告诉我,你给我传了多大的数据量,就算你不告诉多大,你得告诉我,你什么时候说完?(句号),中文的断句水很深?如果你传过来的数据,不告诉什么时候结束,那就尴尬了,都不明白你在干嘛,俗称定界符,比如说"。"就是定界符,看到句号,我就认为就是一句话。
那么问题来,如果我句中需要。但表示不是结束呢?这时候我们可以把句号替换一个“天王盖地虎”,发送端和接受端都知道的暗号,它会自动还原。
- java TCP/IP Socket编程-----发送和接受数据-----笔记7
- java TCP/IP Socket编程-----发送和接受数据---投票例子--笔记7
- socket发送和接受数据
- JavaTCP/IP笔记之发送和接受数据
- Java TCP/IP Socket 编程 笔记
- java进行网络编程 Socket 发送和接受端
- Java Socket编程和TCP/IP协议
- Java Socket编程和TCP/IP协议
- Java-网络编程(IP地址)-(TCP和UDP)-(Socket)-(Udp-发送端)-(Udp-接收端)
- C#使用socket发送和接受数据
- Java TCP/IP Socket 编程 笔记—TCP的例子
- java TCP/IP Socket编程-----NIO--TCP信道-----笔记11
- 《Java TCP/IP Socket编程》读书笔记(7)
- Socket发送和接受
- Java中通过TCP协议发送和接收数据-Socket编程
- Java中通过TCP协议发送和接收数据-Socket编程
- java tcp/ip socket编程
- Java TCP/IP Socket编程
- 一头扎进《快速排序》
- 蚂蚁分类信息系统5.8 数据标签调用方法(二)
- js实现冒泡排序和快速排序
- nginx的配置、虚拟主机、负载均衡和反向代理--01
- 浅谈SEO优化-站点优化(3)
- java TCP/IP Socket编程-----发送和接受数据-----笔记7
- Jenkins安装(Windows环境)
- YII2框架学习 高效篇(三) 片段缓存与页面缓存
- Bash Scripts-I
- java,根据对角线打印矩阵
- Standards-zigbee-smart-energy-1-2-revision-4
- c++(冰雹序列)
- HorizontalScrollView+Viewpager
- HDU-5437-模拟-优先队列