Beej的数据报客户端网络指南

时间:2013-02-07 14:46:13

标签: c sockets datagram

也许我没有完全醒来,但我正在浏览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);
}

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

感谢您提前提供任何帮助。

2 个答案:

答案 0 :(得分:2)

他希望用两个参数调用程序,“hostname”和“message”,分别为argv[1]argv[2]argv[0]保留名称为./talker可执行文件{{1}}等。

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

答案 1 :(得分:1)

我认为你正在阅读错误的代码。 talker计划的确通常argcargv个参数main()