gpt4 book ai didi

c - 使用 C 套接字将客户端源端口设置为监听端口

转载 作者:行者123 更新时间:2023-11-30 19:04:48 33 4
gpt4 key购买 nike

目前,我正在关注 Beej's Guide to Network Programming在同一应用程序中创建流服务器和客户端。基本上,它是一个也发出连接请求的服务器(客户端)。我正在使用来自这些 examples 的 client.c 和 server.c 代码.

我想要做的是将客户端源端口设置为与服务器监听端口相同(如果可能的话)。换句话说,监听端口 8888,并使用同一 8888 端口通过 connect() 建立出站连接。目前,默认连接每次使用不同的随机端口。

  1. 是否可以使用同一端口进行监听和建立连接,以及如何做到这一点。
  2. 我读到,每次使用随机端口是常见做法,但它可能会耗尽端口或使用被阻止的端口。这有多真实?

如果我想为所有连接设置固定端口,如何解决这个问题?

最佳答案

可以通过在相关套接字上调用 bind 来设置客户端套接字的源端口。但是,如果您已经有一个服务器套接字绑定(bind)到该端口,那么这就是一个问题。

用于 TCP 客户端套接字的确切端口号通常并不重要。除非您有非常具体的要求,否则最好让操作系统选择可用的端口。

关于c - 使用 C 套接字将客户端源端口设置为监听端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51063025/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com