接続を受け付ける非常に単純なサーバーを作成しようとしています。sockaddr.sin_port = 1337が実際の開かれたポートと一致しません
を拒否しました(UNKNOWN)[127.0.0.1] 1337(?):127.0.0.1:1337に接続しようとすると、
int sock, serv; struct sockaddr_in in_sock; serv = socket(AF_INET, SOCK_STREAM, 0); in_sock.sin_addr.s_addr = 0; in_sock.sin_port = 1337; in_sock.sin_family = AF_INET; bind(serv, (struct sockaddr *)&in_sock, sizeof(in_sock)); listen(serv, 0); client = accept(serv, 0, 0);
はしかし、私は、接続はメッセージを拒否し得る接続は
しかし、単純なnetstat -tcpan
ポートが実際に開いていることを私に示しています
TCP 0 0 0.0.0.0: 14597 0.0.0.0:* LISTEN
もっと高いポートでsin_portを設定すると、正常に動作するようです。
私はここで何が欠けていますか?なぜ1337港は開かれていないのですか?それは自由であるようにも思われる。
は
あなたはポートがバイト順を切り替えるために[ 'htons'](https://linux.die.net/man/3/htons)を使用する必要がオーケー –