如何去区分套接字和端口(区分)

套接字(Socket): 可以将套接字比喻为外卖员。套接字是网络通信的抽象,它负责在客户端和服务器之间建立连接,并提供数据传输的通道。在外卖员的比喻中,外卖员是负责将食物从餐馆送到客户家中的人,就像套接字在网络上负责将数据从一个地方传输到另一个地方。

端口号(Port Number): 端口号可以比喻为门牌号。在网络通信中,端口号用于标识特定的服务或应用程序。就像门牌号指定了一个建筑物中的具体位置一样,端口号指定了一个主机上的特定服务。例如,HTTP服务通常使用端口号80,HTTPS服务使用端口号443。

服务器端: 像是一家餐馆。服务器监听着特定的门牌号(端口号),等待客户端的连接。一旦有客户端连接,服务器就像餐馆为客户提供服务一样,创建一个套接字来处理与该客户端的通信。

客户端: 像是顾客。客户端知道要去哪个餐馆(目标服务器的IP地址),并且知道餐馆的门牌号(端口号)。客户端使用一个套接字来与服务器建立连接,就像顾客与餐馆建立联系一样。
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在网络编程中,一个服务器通常会创建一个监听套接字来等待客户端的连接请求,当客户端请求到达时,服务器会创建一个新的套接字来与客户端进行通信。这两个套接字使用的端口是不同的。 监听套接字使用的是服务器预先指定的端口。当服务器启动时,它会指定一个端口用于监听客户端的连接请求。客户端会通过该端口来连接服务器。这个端口服务器上的唯一标识符,用于区分不同的应用程序和服务。通常情况下,这个端口是在代码中指定的,也可以在运行时通过命令行参数指定。 新创建的套接字使用的端口是由操作系统自动分配的。当一个新的套接字被创建时,操作系统会自动分配一个可用的端口。这个端口是客户端与服务器之间的通信端口,用于传输数据。通常情况下,客户端并不关心这个端口的值,只需要知道服务器的 IP 地址和监听端口即可。 在实际编程中,我们可以通过调用套接字 API 中的函数来获取监听套接字和新创建的套接字所使用的端口号。例如,在 Python 中,我们可以使用 `socket.getsockname()` 函数来获取套接字使用的本地地址和端口号。对于监听套接字,返回的是一个元组 `(host, port)`,其中 `host` 表示监听的 IP 地址,`port` 表示监听端口号;对于新创建的套接字,返回的是一个元组 `(host, port)`,其中 `host` 表示客户端的 IP 地址,`port` 表示客户端的端口号。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值