TCP套接字

Posted No pain No gain

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP套接字相关的知识,希望对你有一定的参考价值。

端口的概念

每个电脑一根网线,但是你挂着QQ的同时还可以浏览网页。两个不同应用的数据在同一根网线里是如何传输的呢?根据七层互联网模型,这个功能由运输层(TCP是运输层主要协议)实现。怎么实现呢,在网络层IP提供的路由功能的基础上,你能和别人交互。但是想要区分上述浏览器和QQ的数据就需要有端口。当然这个端口是唯一的标识这个用户进程

套接字

IP+端口 运输层提供端到端服务的基础。运输层进而实现

复用:应用层所有的应用进程都可以通过运输层传到IP层(网络层)

分用:运输层从IP层收到发给各应用进程的数据后,通过套接字交给特定的进程

注意

可能有小伙伴看过电脑的应用管理器,后面有每个进程的端口号。注意这里的端口号是操作系统为了区分不同的应用进程使用的,不是我们这里讨论的端口。有人会问,为啥不使用现成的呢,反正是唯一标识进程。理论上是可以,但是Windows,ios实现自己的进程端口的方式不一样,你处理起来要注意兼容。其次,操作系统的进程,大部分都不是用来传输数据的,都是服务于本机的

以上是关于TCP套接字的主要内容,如果未能解决你的问题,请参考以下文章

TCP Server有两个套接字

TCP下的套接字编程

套接字,TCP,UDP

套接字编程——基于TCP协议

TCP 套接字到 Websocket?

套接字编程--TCP