【问题标题】:Connection computers on network连接网络上的计算机
【发布时间】:2013-08-26 23:54:33
【问题描述】:

我正在研究两台计算机之间的通信介质。他们都在同一个网络上。我知道每台设备的远程ip。

我正在尝试编写一个 C 程序,在一台机器上充当服务器,在另一台机器上充当客户端。

我正在尝试使用来自客户端的端口 311 上的 TCP 协议建立此连接。我想知道如何设置服务器?我在服务器上绑定哪个地址,以便它接受来自客户端服务的远程请求?

【问题讨论】:

    标签: c networking tcp network-programming port


    【解决方案1】:

    通常您绑定到名为 INADDR_ANY 的特殊 IP 地址。这允许您的服务器可用于任何接口上的传入连接。这样,如果您在同一台机器上或通过服务器计算机可能具有的任何外部接口,您可以通过 localhost/loopback 连接到您的服务器 - 无论配置如何。

    这是一个很好的description

    【讨论】:

    • 不,不是任何端口,任何 IP 地址。当您调用bind 时,您仍然必须提供一个端口来绑定您的套接字。为了监听多个端口,每个端口必须有一个套接字。 -- 这是为了回答一个问题,询问它是否会接受任何端口上的连接。
    • 好的,谢谢,我也不知道我之前的评论去了哪里。无论如何,这确实回答了我的问题。谢谢
    • 没问题。我根据您的评论问题的上下文编辑了我的评论。
    • 另外,“接口”是“网卡”。但是,有时网卡是虚拟的(例如环回)或在单个卡上具有多个 NIC(网络接口控制器)的单卡。每个 NIC(真实或虚拟)都有一个 IP 地址。 INADDR_ANY 允许您接受任何这些 IP 地址。
    • 哦,好的,太好了,您的网络经验对您有很大帮助:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多