【问题标题】:Beej's network guide on datagram clientsBeej 的数据报客户端网络指南
【发布时间】:2013-02-07 14:46:12
【问题描述】:

也许我还没有完全醒来,但我正在阅读 Beej 关于数据报套接字的网络编程指南

https://beej.us/guide/bgnet/html/multi/clientserver.html#simpleserver

我对客户端的初始部分感到困惑。演示中没有指定命令行参数,但是,代码中似乎有多个调用来检查参数计数。例如,在第一个 if 语句中,检查计数是否为 3,如果不是,则程序退出。

 if (argc != 3) {
    fprintf(stderr,"usage: talker hostname message\n");
    exit(1);
}

有人能解释一下这里发生了什么吗?

提前感谢您的帮助。

【问题讨论】:

    标签: c sockets datagram


    【解决方案1】:

    他希望程序使用两个参数“hostname”和“message”来调用,它们分别是argv[1]argv[2],而argv[0]保留了可执行文件的名称./talker之类的。

    “talker”程序向“listener”程序发送消息,它需要知道要发送什么(消息)以及发送到哪里(主机名)。

    【讨论】:

    • 知道了!虽然没有明确说明这些论点,但我本可以很聪明地查看服务器以了解预期的结果。感谢您的帮助!
    【解决方案2】:

    我认为您正在阅读错误的代码。 talker 程序确实将通常的 argcargv 参数传递给 main()

    【讨论】:

    • 我很抱歉,因为我的问题不清楚。我不确定命令行参数应该是什么,但他们得到了 meagar 的回答。感谢您的回复。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-30
    • 1970-01-01
    相关资源
    最近更新 更多