千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > 什么是socket编程?

什么是socket编程?

来源:千锋教育
发布人:qyf
时间: 2022-06-07 17:26:00 1654593960

java培训

  这个题目不好回答,因为他牵扯东西比较多,问的方向比较广,我尽量发散说,如果里面遇到你不知道知识点,那么你需要自己查阅里面你不清楚点。

  Socket是什么?

  · TPC/IP协议是传输层协议,主要解决数据如何在网络中传输;

  · Socket是对TCP/IP协议的封装和应用(程序员层面上);

  · 而HTTP是应用层协议,主要解决如何包装数据。

  TCP/IP和HTTP协议的关系是:“我们在传输数据时,可以只使用(传输层)TCP/IP协议,但是那样的话,如果没有应用层,便无法识别数据内容。如果想要使传输的数据有意义,则必须使用到应用层协议。应用层协议有很多,比如HTTP、FTP、TELNET等,也可以自己定义应用层协议。WEB使用HTTP协议作应用层协议,以封装HTTP文本信息,然后使用TCP/IP做传输层协议将它发到网络上。”

  Socket是什么呢,实际上socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API)。通过Socket,我们才能使用TCP/IP协议。

  Socket跟TCP/IP协议关系是:“TCP/IP只是一个协议栈,就像操作系统的运行机制一样,必须要具体实现,同时还要提供对外的操作接口。这个就像操作系统会提供标准的编程接口,比如win32编程接口一样,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口。”

  这样回答肯定不行:你肯定说说建立socket的基本流程

图片2

  可以看到本质上,socket是对tcp连接(当然也有可能是udp等其他连接)协议,在编程层面上的简化和抽象。

  要想深刻理解socket必须要有:网络七层,每一层有一个了解,在应用层,传输层,网络层这三层要熟悉不是了解了。

  下面这些也了解一下:

  1、单向通信

  2、双向通信

  3、同时实现消息的发送与接收

  4、使用线程池优化服务端并发能力

  5、连接保活(心跳包,断开时重连)

  6、三次握手,四次挥手过程描述

  更多关于“Java培训”的问题,欢迎咨询千锋教育在线名师。千锋已有十余年的培训经验,课程大纲更科学更专业,有针对零基础的就业班,有针对想提升技术的好程序员班,高品质课程助理你实现java程序员梦想。

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT