私たちの割り当ては、サーバークライアントモデルを持つことです。
コマンドライン引数をチェックすることになっています。コマンドライン引数がない場合(argc = 1)、サーバーとして設定します。それ以外の場合は、argv[1]を使用してクライアントソケットを設定します。
引数にランダム性を使用するだけで問題なく動作するように見えますが、たとえば1.2.3.4のアドレスを入力しようとすると、出力が得られず、プログラムが起動するだけで何も実行されません。
私の質問は、IPアドレスの形式でコマンドライン引数を処理するための最良の方法は何であるかということだと思います。
これが私の主な機能です。
int main( int argc, char *argv[] )
{
printf("%i",argc);
if(argc==1)
{
printf("Welcome to the ZOG Virtual Probe Game! You have choosen to take the role of a server.");
printf("\nPlease wait for an opponent to connect.");
runServer();
}else if(argc==2)
{
printf("Welcome to the ZOG Virtual Probe Game! You are now connecting to specified IP.");
runClient(argv[1]);
}else
{
printf("You used an invalid command line argument. You can input an IP address or leave no command arg to host a game.");
}
}