计算机网络 套接字,关于计算机网络:计算机网络基础二十二传输层套接字与套接字编程...

套接字与套接字编程

套接字

在之前的文章中有说到,通过端口(Port)能够惟一的标识不同的网络过程。如果有一个过程在应用网络的话,那必定是会占用一个端口的,计算机就是通过这个端口来辨别不通的网络过程的

端口(Port)应用16比特位示意(0~65535)。由端口以及IP就能够指定网络中某一台主机的具体过程是哪一个「IP:Port」。对于IP和端口的组合,有一个名字叫:套接字(Socket)

套接字(Socket)是形象的概念,示意TCP连贯的一端(咱们晓得TCP是端到端(点到点)的通信,两个端点之间会有一个TCP连贯来进行通信,这个套接字就能够示意通信的一端)

通过套接字能够进行数据发送或接管。很多时候对网络编程的时候,实际上就是对套接字的编程,通过套接字来进行数据的发送和接管

因为TCP连贯是由两端所组成的,因而就能够示意为两个套接字,通过这两个套接字就能够指定惟一的一个TCP连贯,而套接字又能够示意为IP和端口的组合(一个IP能够有多个套接字,因为它可能会有不同的端口)

TCP

={Socket1:Socket2}

={{IP:Port}:{IP:Port}}

如果平时对套接字进行编程的话,很多时候都是将这个架构看做是C/S架构。客户端和服务端通过TCP连贯连接起来,不论是客户端还是服务端,都会应用一个Socket来进行数据的发送和接管

C/S架构的TCP通信过程(右边为服务端、左边为客户端)

网络套接字与域套接字的区别

网络套接字

对于网络套接字,不论是跨计算机还是在同一台计算机,如果应用网络套接字的话,数据都会通过网络中的协定栈

域套接字

域套接字次要是通过域套接字文件来进行通信的。如果通过域套接字来进行通信的话,数据就不须要通过协定栈。所以,如果是单机的通信,举荐应用域套接字进行通信,因为它解决流程简略,而且不通过协定栈,对系统的耗费比拟小。如果是跨机器或跨网络的通信,就必须得应用网络套接字进行通信

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值