也许我没有完全醒来,但我正在浏览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);
}
有人能解释一下这里发生了什么吗?
感谢您提前提供任何帮助。
答案 0 :(得分:2)
他希望用两个参数调用程序,“hostname”和“message”,分别为argv[1]
和argv[2]
,argv[0]
保留名称为./talker
可执行文件{{1}}等。
“talker”程序向“listener”程序发送消息,它需要知道发送什么(消息)以及发送它的位置(主机名)。
答案 1 :(得分:1)
我认为你正在阅读错误的代码。 talker计划的确通常argc
和argv
个参数main()
。