0

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

有人可以解释这里发生了什么吗?

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

4

2 回答 2

2

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

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

于 2013-02-07T14:47:23.263 回答
1

我认为您正在阅读错误的代码。talker程序确实采用了通常的参数argcargv参数main()

于 2013-02-07T14:49:25.883 回答