0

私は最近非常に奇妙な誤動作をしており、その理由を説明できません。私は自分用にネットワーク ライブラリを作成しました (まだ作業中です)。今日、他のアプリケーションがポートを使用していたため、単体テストが失敗しました。これは当然のことですが、期待どおりに失敗しませんでした。の結果を見ていますがbind()、それは0でした。

handle = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);

sockaddr_in address;
address.sin_family = AF_INET;
address.sin_addr.s_addr = INADDR_ANY;
address.sin_port = htons(port);
if (bind(handle, (const sockaddr*)&address, sizeof(sockaddr_in)) < 0)
{
    throw std::runtime_error("failed to bind socket");
}

(ここに完全なコードがあります。)

私の経験ではbind()、ポートが使用中の場合、エラーが返されると言われています。私は基本的に間違っていますか?

詳細については、Windows 7 の winsock について話しています。MinGWで構築。

4

1 に答える 1

0

私が見ていた問題は、バインドの失敗の一部ではありませんでした。この質問を愚かに投稿して申し訳ありません。しかし、それは私を狂わせていました..

それにもかかわらず、netstat はポートが使用中であると述べましたが、TCP...

于 2012-08-30T20:00:01.550 に答える