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

彼は、プログラムが2つの引数、「hostname」と「message」で呼び出されることを期待しています。これらの引数は、argv[1]それぞれargv[2]argv[0]実行可能ファイルの名前などのために予約されています./talker

「トーカー」プログラムは「リスナー」プログラムにメッセージを送信し、何を送信するか(メッセージ)、どこに送信するか(ホスト名)を知る必要があります。

于 2013-02-07T14:47:23.263 に答える
1

間違ったコードを読んでいると思います。トーカープログラムは確かに通常の引数をargcに取ります。argvmain()

于 2013-02-07T14:49:25.883 に答える