TCP/IP(十一)TCP的连接管理(八)socket网络编程

这篇具有很好参考价值的文章主要介绍了TCP/IP(十一)TCP的连接管理(八)socket网络编程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一  socket网络编程

 socket 基本操作函数 bind、listen、connect、accept、recv、send、select、close

说明:  本文需要'C语言'、'syscall系统调用'、'OS 操作系统'基础理论,如果不了解可以暂时'跳过'

目标: 知道对应'库函数'的更'底层'机制

思考: socket函数与'FIN'、'ACK'等特殊TCP包的关系,'如何'触发的呢? 

补充: 函数是客户端还是服务端'调用'?

①  针对 TCP 应该如何 Socket 编程?

1、'图谱'

TCP/IP(十一)TCP的连接管理(八)socket网络编程,TCP/IP,tcp/ip,socket网络编程

2、socket编程对应'函数'的作用

TCP/IP(十一)TCP的连接管理(八)socket网络编程,TCP/IP,tcp/ip,socket网络编程

②   listen 时候参数 backlog 的意义?

1、Linux内核中会'维护'两个队列

TCP/IP(十一)TCP的连接管理(八)socket网络编程,TCP/IP,tcp/ip,socket网络编程

2、 'listen' 函数

TCP/IP(十一)TCP的连接管理(八)socket网络编程,TCP/IP,tcp/ip,socket网络编程

③  accept 发生在三次握手的哪一步?

1、客户端 'connect' 成功返回是在'第二次'握手

2、服务端 'accept'  成功返回是在'三次握手成功之后'

TCP/IP(十一)TCP的连接管理(八)socket网络编程,TCP/IP,tcp/ip,socket网络编程

④   客户端调用 close 了,连接是断开的流程是什么?

分析: 客户端'主动调用了 close',会'发生'什么?

TCP/IP(十一)TCP的连接管理(八)socket网络编程,TCP/IP,tcp/ip,socket网络编程

⑤  没有 accept,能建立 TCP 连接吗?

TCP/IP(十一)TCP的连接管理(八)socket网络编程,TCP/IP,tcp/ip,socket网络编程

没有accept 能建立TCP连接

⑥   没有 listen,能建立 TCP 连接吗?

说明: '了解'即可

TCP/IP(十一)TCP的连接管理(八)socket网络编程,TCP/IP,tcp/ip,socket网络编程

服务端没有 listen,客户端发起连接建立,会发生什么?文章来源地址https://www.toymoban.com/news/detail-726426.html

到了这里,关于TCP/IP(十一)TCP的连接管理(八)socket网络编程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • TCP/IP 网络编程 第七章:优雅地断开套接字连接

    在前面的章节中,我们都是通过close或者closesocket来断开套接字连接的,但是调用这两个函数导致我们套接字完全断开,套接字将无法接受数据,并且也只能传输完最后余留在缓冲区的数据内容。此时\\\"只关闭一部分数据交换中使用的流\\\"的方法应运而生。 针对优雅断开的shutd

    2024年02月17日
    浏览(32)
  • 「网络编程」第二讲:socket套接字(四 - 完结)_ Linux任务管理与守护进程 | TCP协议通讯流程

    「前言」文章是关于网络编程的socket套接字方面的,上一篇是网络编程socket套接字(三),这篇续上篇文章的内容,下面开始讲解!  「归属专栏」网络编程 「主页链接」个人主页 「笔者」枫叶先生(fy) 「枫叶先生有点文青病」「句子分享」 Time goes on and on, never to an 

    2024年02月10日
    浏览(44)
  • 【网络编程】TCP Socket编程

    流套接字: 使用传输层TCP协议 TCP: 即Transmission Control Protocol(传输控制协议),传输层协议。 TCP的特点: 有连接 可靠传输 面向字节流 有接收缓冲区,也有发送缓冲区 大小不限 ServerSocket 是 创建TCP服务端Socket 的API。 注意: ServerSocket 只能用于 服务器端。 构造方法: 方法签名

    2024年02月07日
    浏览(39)
  • 网络编程:TCP socket

    TCP(Transmission Control Protocol,传输控制协议)提供的是面向连接,可靠的字节流服务。即客户和服务器交换数据前,必须现在双方之间建立一个TCP连接,之后才能传输数据。并且提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。 TCP不

    2024年02月05日
    浏览(35)
  • Go语言网络编程(socket编程)TCP

    TCP协议 TCP/IP(Transmission Control Protocol/Internet Protocol) 即传输控制协议/网间协议,是一种面向连接(连接导向)的、可靠的、基于字节流的传输层(Transport layer)通信协议,因为是面向连接的协议,数据像水流一样传输,会存在黏包问题。 TCP服务端 一个TCP服务端可以同时连接很

    2024年02月09日
    浏览(31)
  • Go语言网络编程(socket编程)TCP粘包

    服务端代码如下: 客户端代码如下: 将上面的代码保存后,分别编译。先启动服务端再启动客户端,可以看到服务端输出结果如下: 收到client发来的数据: Hello, Hello. How are you?Hello, Hello. How are you?Hello, Hello. How are you?Hello, Hello. How are you?Hello, Hello. How are you? 收到client发来的数

    2024年02月09日
    浏览(41)
  • 基于TCP的Socket网络编程

    前言: Socket通信是基于TCP/IP协议的通信。在工作和做项目中应用非常广,下面来介绍下Socket网络编程! Socket的介绍 首先,在Socket网络编程中我们要了解两个重要的东西,ip和端口号,一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等。这些服务完全

    2024年02月11日
    浏览(35)
  • 【网络编程】网络编程概念,socket套接字,基于UDP和TCP的网络编程

    前言: 大家好,我是 良辰丫 ,今天我们一起来学习网络编程,网络编程的基本概念,认识套接字,UDP与TCP编程.💞💞💞 🧑个人主页:良辰针不戳 📖所属专栏:javaEE初阶 🍎励志语句:生活也许会让我们遍体鳞伤,但最终这些伤口会成为我们一辈子的财富。 💦期待大家三连,关注

    2023年04月20日
    浏览(41)
  • Socket编程接口API并实现简单的TCP网络编程

    #include sys/types.h #include sys/socket.h socket()创建套接字,成功返回套接字的文件描述符,失败返回-1 domain: 设置套接字的协议簇, AF_UNIX AF_INET AF_INET6 type: 设置套接字的服务类型 SOCK_STREAM SOCK_DGRAM protocol: 一般设置为 0,表示使用默认协议 int socket(int domain, int type, int protocol); bind()将

    2024年02月13日
    浏览(27)
  • 【网络篇】socket编程——TCP(史上最全)

    目录 一、初始TCP 1.TCP协议特点 2.TCP头:  3.确认应答机制 4.超时重传机制 5.流量控制 6.拥塞控制 (1)TCP 的拥塞控制方法 慢开始 拥塞避免 快重传 快恢复 二、建立连接——三次握手  三、断开连接——四次挥手 四、socket编程 ##客户端API函数 ##服务端API函数 (1)TCP 是 面向连

    2024年02月08日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包