それで、いくつかのコードを WinRT に移植しています。ここで説明するには自虐的すぎる理由から、WinSock と IPAddress に非常に大きく依存しているコードを移植しようとしています。そのため、IPAddress の独自の実装を作成しています。そして、私は WSAStringToAddress に行き詰まっています。または、より広義には、IPAddress InternalParse を実装しています (文字列を取得し、IPAddress を吐き出します)。
誰もが (正当な理由で) ライブラリ関数を使用しているようですが、WinRT には合理的に存在しないようです。(そして、「インタビューの質問」としてグーグルで検索しても、結果が得られないようです)
v6 と v4 の両方で、string -> IPAddress に適切な方法がある人はいますか?
編集:
これは合理的に機能しますか?
private static unsafe IPAddress InternalParse(string ipString, bool tryParse)
{
HostName hn = new HostName(ipString);
IPAddress ipAddr = new IPAddress(GetBytes(hn.ToString()));
return ipAddr;
{
private static byte[] GetBytes(string str)
{
byte[] bytes = new byte[str.Length * sizeof(char)];
System.Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length);
return bytes;
}