私はLinuxマシン上でC/C ++(混合)の専用ゲームサーバーを開発しています。次のコードスニペットがあります。
int sockfd=socket(AI_INET, SOCK_DGRAM, 0);
if(sockfd==-1)
{
int err=errno;
fprintf(stderr,"%s",strerror(err));
exit(1);
}
ここでの私の問題は、ソケットが-1(失敗を意味する)を返し、エラー文字列が出力されているが、それは「成功」(ERROR_SUCCESS)であるということです。
その他の注意事項:
- 1024を超えるポートでソケットを要求しています(コンテキスト外ですが、言及したいと思います)
- スーパーユーザーとしてアプリを実行しています