首页 > 其他分享 >socket连接和TCP连接的关系

socket连接和TCP连接的关系

时间:2022-09-30 11:00:08浏览次数:71  
标签:协议 HTTP Socket IP TCP 应用层 连接 socket


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

1)Socket是一个针对TCP和UDP编程的接口,你可以借助它建立TCP连接等等。而TCP和UDP协议属于传输层 。

  而http是个应用层的协议,它实际上也建立在TCP协议之上。 

 (HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力。)

2)Socket是对TCP/IP协议的封装,Socket本身并不是协议,而是一个调用接口(API),通过Socket,我们才能使用TCP/IP协议。Socket的出现只是使得程序员更方便地使用TCP/IP协议栈而已,是对TCP/IP协议的抽象,从而形成了我们知道的一些最基本的函数接口。

​SOCKET API和TCP STATE的对应关系__三次握手(listen,accept,connect)__四次挥手close及TCP延迟确认(调用一次setsockopt函数,设置TCP_QUICKACK)__长连接API小心“窜包”问题​




标签:协议,HTTP,Socket,IP,TCP,应用层,连接,socket
From: https://blog.51cto.com/u_15812463/5725644

相关文章

  • SQLServer的最大连接数
    http://t.zoukankan.com/qanholas-p-2450339.html 我们的程序只能够跟SQLServer建立101个连接 在连接字符串中加入代码:Pooling=true;MaxPoolSize=40000;MinPool......
  • linux socket实现网络聊天室(一):服务器和客户端对话
    1.服务器端#include<sys/types.h>#include<sys/socket.h>#include<stdio.h>#include<stdlib.h>#include<errno.h>#include<string.h>#include<unistd.h>#include<ne......
  • socket编程API总结
    一、代码注释1.#include<sys/types.h>#include<sys/socket.h>#include<stdio.h>#include<stdlib.h>#include<errno.h>#include<string.h>#include<unistd.h>#include......
  • frp网络穿透(远程连接)
    frp网址https://github.com/fatedier/frp/releases下载frp_0.42.0_linux_amd64.tar.gzfrp_0.42.0_windows_amd64.zip(版本自己下)云主机配置1.解压改名赋权tar-zxv......
  • python 连接 sqlite3 文件
     #0.pipinstallpymysql#1.导入pymysqlimportpymsql#2.创建一个数据库连接对象#3.创建游标cursor=conn.cursor()#4.SQL执行cursor.execute(sql)......
  • TCP与UDP的联系与区别
    TCP与UDP的联系:1、TCP和UDP是OSI模型中的运输层中的协议。2、TCP提供可靠的通信传输,而UDP则常被用于让广播和细节控制交给应用的bai通信传输。TCP与UDP的基本区别:1、基......
  • Ajax、反向Ajax和WebSocket 概念
    Ajax异步的JavaScript和XML(AsynchronousJavaScriptandXML,Ajax),一种可通过JavaScript来访问的浏览器功能特性,其允许脚本向幕后的网站发送一个HTTP请求而又无需重新加载......
  • sshd服务(1)优化ssh连接速度,解决等待时间长问题
    参考文档优化ssh连接速度,解决等待时间长问题、ssh持久化连接优化ansible修改ssh配置文件:/etc/ssh/sshd_config1、关闭DNS反查使用了dns反查,这样的话当ssh某个IP时,系......
  • VMware Ubuntu 不能连接网络
    电脑配置信息:Windows1121H222000.978VMwareWorkstation16Pro16.2.4build-20089737Ubuntu22.0.4.1开启“移动热点”会导致你的虚拟机无法连接网络,这里不需要......
  • java连接数据库和MP自动生成
    java连接数据库一.操作步骤1.1点击数据库添加1.2选择对应的数据库软件1.3填写相关信息ps......