请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

socket相关

老师,您好!此处问题比较多,看完之后总结的几个问题,可能是由于我理解能力有限所以提出了很多可能很简单的问题,在这希望麻烦老师给解答一下。谢谢!
问题一:Socket 是在应用层和传输层之间的一个抽象层,它把 TCP/IP 层复杂的操作抽象为几个简单的接口,供应用层调用实现进程在网络中的通信,那么本章我们在写socket具体实现的时,应该是没有用到应用层的协议的吧?
问题二:如果问题一成立是不是可以说TCP/与UDP协议是可以不需要上层协议单独使用的,但是只能手动将数据打散为二进制流传输。需要我们手动转成我们需要的数据格式来展示?
问题三:因为上层协议比如http协议其实也会依赖于TCP的如果没有TCP协议http是无法使用的。因为TCP提供了数据传输的可能。其实http在传输的途中也是二进制的流。但是课件中说上层协议是解决了某些问题的(比如不同网络不同系统机器之间的传输问题)TCP又是如何解决的呢?还是在本章这种用法是有一定局限性的。
问题四:在本章中二进制与字符之间的编解码所用到的编码集是如何统一的?如果是两台不同的机器不同的项目中编码集可能是不一样的。

正在回答 回答被采纳积分+3

1回答

慕雪3521050 2021-06-16 18:12:22

我的理解。问题一:你编写的代码使用socket你就已经属于应用层了,虽然你没有使用应用层的协议。就比如http,属于应用层协议,但是它也是基于socket来操作的,只不过它封装了一些http独有的规则。问题二:tcp/udp本来就是可以单独使用的。问题三:个人理解,应用层的协议是封装和简化的,比如http它就是针对浏览器和服务器交互的。ftp就是文件传输的等等。上层协议是来规范化一些应用场景,不能说你这个浏览器用一个标准,我这个浏览器用另一个标准。问题4:这个是可以自己配置的。

3 回复 有任何疑惑可以回复我~
  • 翔仔 #1
    感谢同学的热心回答
    问题一可以这样理解:HTTP服务器,例如TOMCAT底层是是调用的scoket接口,来调用TCP/IP协议
    问题二:HTTP只是从更上层定义了两个服务器之间的通信语言,让大家更容易理解对方
    问题三:同学说的是正解,不管二进制与否,主要是屏蔽了浏览器 服务器的交互差异
    问题四:编码集不一样肯定识别不了,所以才有服务端统一一种编码(如UTF8)客户端通过header信息自动适配编码这一说
    回复 有任何疑惑可以回复我~ 2021-06-16 21:23:43
  • 提问者 YXF_LYY #2
    感谢解惑
    回复 有任何疑惑可以回复我~ 2021-06-16 22:30:49
  • 提问者 YXF_LYY 回复 翔仔 #3
    谢谢老师
    回复 有任何疑惑可以回复我~ 2021-06-16 22:31:17
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号