クライアント/サーバーをセットアップしており、サーバーが接続を受け入れたかどうかをクライアントに知らせたいです。そうでなければ、私のクライアントは、それがまだ受け入れられるのを待っているという手がかりがありません. これを確認するために、さらなる通信 (プロトコル仕様) に頼ることはできません。したがって、たとえば、サーバーからクライアントに「Good to go」文字列を送信することはできません。サーバーが実際に受信しているかどうかを確認できるフラグまたは何かがありますか? いくつかのサンプル コードは次のとおりです。
/* Client */
...
getaddrinfo(ip, port, &hints, &servinfo);
connect(sockfd, info->ai_addr, info->ai_addrlen);
if (info == NULL) {
printf("connection failure\n");
exit(1);
}
inet_ntop(info->ai_family, get_in_addr((struct sockaddr *)info->ai_addr), ipstring, sizeof(ipstring));
printf("Connected to %s!\n", ipstring);
...
/* Server */
...
pause(); /* If don't accept the connection, how to make the client know? */
new_fd = accept(sockfd, (struct sockaddr *)&cli_addr, &addr_size);
...