TCP套接字编程—具体流程梳理

本文详细介绍了TCP套接字编程的流程,从服务器端的创建套接字、绑定地址、监听连接,到客户端的创建套接字、发起连接请求,深入解析TCP的三次握手和套接字的工作原理。通过示例代码,阐述了服务器如何获取客户端IP和端口号,以及客户端如何与服务器建立连接。
摘要由CSDN通过智能技术生成

一个上午都在调试一个服务器端监听程序,测试的客户端怎么都连不上,然后疯狂在网上搜寻答案无果,最后无意中发现竟是系统没有联网。唉,顿时就像是在debug过程中发现某处少了一个逗号是一个样的郁闷!不过这个纠结的过程却让我把TCP套接字编程的整个过程又有了重新的认识。


TCP是一种可靠的面向连接的通信协议,因此在通信之前需要确认通信的双方,称之为客户端和服务器端。一般由客户端向服务器端发送连接请求,然后服务器端确认请求,最后客户端再确认连接,即为三次握手。在TCP套接字网络编程中,存在更多的细节,大致的流程如下图所示:




通俗地说,由TCP数据报首部结构我们知道,唯一标识一个TCP连接的结构是一个插口对,也就是客户端ip、客户端端口、服务器端ip、服务器端端口四元组。这个四元组结构就是一个套接字。在客户端中,我们知道自己的ip、端口(用户定义或者内核分配),也知道目的服务器的插口地址,而在服务器端的套接字只有服务器本身的插口地址,在有客户端来连接的时候配成一个新的已连接的套

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值