2010-12-06 26 views
0

URLフィルタリングにLSP(Layered Service Provider)を使用しているファイアウォールプロジェクトを実行しています。私はどのようにLSPから宛先IPを得ることができるか知りたいですか?C++ソケットポインタから宛先IPを取得する方法

+0

...どのAPIを使用していますか? –

+0

@AndréCaron:WSPSend()関数があります。その関数のパラメータSOCKETから宛先IPを取得する必要があります。出来ますか ? – Barun

+0

または私はそれのためにSocketContextを使用することができます。知りません。 – Barun

答えて

1

既存のソケットからIPアドレスを抽出する機能があるかどうかわかりません。通常、渡された住所をWSAConnect()に記憶するか、WSAAccept()から抽出する必要があります。 winsock function referenceを調べて、接続されたソケットから抽出する余分な機能があるかどうかを確認してください。

もちろん、まだ実行していない場合は、SOCKETハンドルと共にIPアドレスを渡すようにアプリケーションを再構築する必要があります。

2

getpeername()の機能を参照してください。

SOCKADDR構造内にピアのデータが届きます。インターネット標準のドット付き10進数形式のASCII文字列に変換するには、inet_ntoa()に電話する必要があります。

+0

お返事ありがとうございます。私はそれがうまくいくと思います。私はそれをチェックさせてください。 – Barun

+1

私は 'getpeername()'に問題があったことを覚えています。ここでは、一貫して間違ったアドレスを返します。これはあなたのために働いたのですか? –

関連する問題