c - 在客户端指定端口号

标签 c sockets unix

在典型的服务器客户端程序中,如何确保我的客户端使用特定端口连接到服务器。就像在服务器端一样,我们在绑定(bind)系统调用中使用端口号,然后监听该特定端口,有什么方法可以在客户端指定端口号并使用相同的端口连接到服务器。服务器 = 3456 , Client = 7834(我想指定此端口号,以便客户端使用 7834 进行连接)。我在 C 和 Unix 平台上尝试。

最佳答案

您在客户端执行此操作与在服务器端执行完全相同 - 使用 bind()。只是客户端在bind()之后调用了connect(),而不是调用listen()

请注意,如果这样做,您将只能在每台机器上运行一个客户端实例,并且如果客户端和服务器之间存在使用地址转换的网络中间件,您的服务器可能会看到不同的客户端端口。

关于c - 在客户端指定端口号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18050065/

相关文章:

c - 为什么 pushl %ebp 和 movl %esp, %ebp 在每个 ASM 函数的开头?

c - 变量返回Null?

c - 虚拟时间已过

java - 在 PrintWriter 的情况下,为什么我应该在循环中而不是在循环之后刷新?

linux - unix - chmod 文件的默认 future 权限

c - 如何删除文件路径的最后一部分

通过 HTTPS 443 进行 Java 远程日志记录

java - 这是 websocket 编程的正确使用吗?

linux - 将文件添加到 zip 文件中的特定目录

c - popen 实现中的段错误