[{"data":1,"prerenderedAt":351},["ShallowReactive",2],{"navigation":3,"post-\u002Fposts\u002F2012\u002Fcsharp-get-ipaddress":20,"surroundPosts-\u002Fposts\u002F2012\u002Fcsharp-get-ipaddress":338},[4,8,12,16],{"title":5,"path":6,"stem":7},"首页","\u002F","00.index",{"title":9,"path":10,"stem":11},"文章","\u002Fposts","01.posts",{"title":13,"path":14,"stem":15},"动态","\u002Fmoments","02.moments",{"title":17,"path":18,"stem":19},"关于","\u002Fabout","09.about",{"id":21,"title":22,"body":23,"class":317,"cover":317,"coverSize":317,"date":318,"description":29,"draft":319,"extension":320,"hideComments":319,"location":321,"meta":322,"navigation":323,"path":324,"readingTime":325,"seo":330,"sitemap":331,"stem":332,"tags":333,"time":336,"weather":317,"__hash__":337},"posts\u002Fposts\u002F2012\u002F20120728.csharp-get-ipaddress.md","C# 获取指定网卡的 IP 地址",{"type":24,"value":25,"toc":315},"minimark",[26,30,33,36,308,311],[27,28,29],"p",{},"最近几天都在玩游戏，没怎么编程，感觉好空虚啊！主要是之前在 Android 上建立 wifi 热点出现了一些问题，难以进展下去，于是便耽搁了，今天决定先跳过那个问题，Android 手机之间的传输先暂时不考虑，先做一下 Android 与 PC 之间的数据传输。",[27,31,32],{},"刚刚主要完成了这么一件事情，根据指定的网卡获取其 ip，以便之后的 socket 使用。",[27,34,35],{},"会出现这个问题是因为我是利用 Win7 的 netsh 功能建立的虚拟网卡，它与其它网卡可以同时存在，这就意味着这台主机可能拥有多个 ip 地址，然而我们需要的只是我们建立的虚拟网卡的那个 ip 地址，实现方法如下：",[37,38,43],"pre",{"className":39,"code":40,"language":41,"meta":42,"style":42},"language-csharp shiki shiki-themes material-theme-lighter github-light github-dark","NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces(); \u002F\u002F获取本机所有网卡对象\nforeach (NetworkInterface adapter in adapters)\n{\n    if (adapter.Description.Contains(\"Virtual\")) \u002F\u002F枚举条件：描述中包含 \"Virtual\"\n    {\n        IPInterfaceProperties ipProperties = adapter.GetIPProperties(); \u002F\u002F获取 IP 配置\n        UnicastIPAddressInformationCollection ipCollection = ipProperties.UnicastAddresses; \u002F\u002F获取单播地址集\n        foreach (UnicastIPAddressInformation ip in ipCollection)\n        {\n            if (ip.Address.AddressFamily == AddressFamily.InterNetwork) \u002F\u002F只要 ipv4 的\n                ipAddress = ip.Address; \u002F\u002F获取 ip\n        }\n    }\n}\n","csharp","",[44,45,46,84,107,113,153,159,182,206,226,232,270,290,296,302],"code",{"__ignoreMap":42},[47,48,51,55,59,62,66,70,73,77,80],"span",{"class":49,"line":50},"line",1,[47,52,54],{"class":53},"sbgvK","NetworkInterface",[47,56,58],{"class":57},"sP7_E","[]",[47,60,61],{"class":53}," adapters",[47,63,65],{"class":64},"smGrS"," =",[47,67,69],{"class":68},"su5hD"," NetworkInterface",[47,71,72],{"class":57},".",[47,74,76],{"class":75},"sGLFI","GetAllNetworkInterfaces",[47,78,79],{"class":57},"();",[47,81,83],{"class":82},"sutJx"," \u002F\u002F获取本机所有网卡对象\n",[47,85,87,91,94,96,99,102,104],{"class":49,"line":86},2,[47,88,90],{"class":89},"sVHd0","foreach",[47,92,93],{"class":57}," (",[47,95,54],{"class":53},[47,97,98],{"class":53}," adapter",[47,100,101],{"class":89}," in",[47,103,61],{"class":68},[47,105,106],{"class":57},")\n",[47,108,110],{"class":49,"line":109},3,[47,111,112],{"class":57},"{\n",[47,114,116,119,121,124,126,129,131,134,137,141,145,147,150],{"class":49,"line":115},4,[47,117,118],{"class":89},"    if",[47,120,93],{"class":57},[47,122,123],{"class":68},"adapter",[47,125,72],{"class":57},[47,127,128],{"class":68},"Description",[47,130,72],{"class":57},[47,132,133],{"class":75},"Contains",[47,135,136],{"class":57},"(",[47,138,140],{"class":139},"sjJ54","\"",[47,142,144],{"class":143},"s_sjI","Virtual",[47,146,140],{"class":139},[47,148,149],{"class":57},"))",[47,151,152],{"class":82}," \u002F\u002F枚举条件：描述中包含 \"Virtual\"\n",[47,154,156],{"class":49,"line":155},5,[47,157,158],{"class":57},"    {\n",[47,160,162,165,168,170,172,174,177,179],{"class":49,"line":161},6,[47,163,164],{"class":53},"        IPInterfaceProperties",[47,166,167],{"class":53}," ipProperties",[47,169,65],{"class":64},[47,171,98],{"class":68},[47,173,72],{"class":57},[47,175,176],{"class":75},"GetIPProperties",[47,178,79],{"class":57},[47,180,181],{"class":82}," \u002F\u002F获取 IP 配置\n",[47,183,185,188,191,193,195,197,200,203],{"class":49,"line":184},7,[47,186,187],{"class":53},"        UnicastIPAddressInformationCollection",[47,189,190],{"class":53}," ipCollection",[47,192,65],{"class":64},[47,194,167],{"class":68},[47,196,72],{"class":57},[47,198,199],{"class":68},"UnicastAddresses",[47,201,202],{"class":57},";",[47,204,205],{"class":82}," \u002F\u002F获取单播地址集\n",[47,207,209,212,214,217,220,222,224],{"class":49,"line":208},8,[47,210,211],{"class":89},"        foreach",[47,213,93],{"class":57},[47,215,216],{"class":53},"UnicastIPAddressInformation",[47,218,219],{"class":53}," ip",[47,221,101],{"class":89},[47,223,190],{"class":68},[47,225,106],{"class":57},[47,227,229],{"class":49,"line":228},9,[47,230,231],{"class":57},"        {\n",[47,233,235,238,240,243,245,248,250,253,256,259,261,264,267],{"class":49,"line":234},10,[47,236,237],{"class":89},"            if",[47,239,93],{"class":57},[47,241,242],{"class":68},"ip",[47,244,72],{"class":57},[47,246,247],{"class":68},"Address",[47,249,72],{"class":57},[47,251,252],{"class":68},"AddressFamily ",[47,254,255],{"class":64},"==",[47,257,258],{"class":68}," AddressFamily",[47,260,72],{"class":57},[47,262,263],{"class":68},"InterNetwork",[47,265,266],{"class":57},")",[47,268,269],{"class":82}," \u002F\u002F只要 ipv4 的\n",[47,271,273,276,279,281,283,285,287],{"class":49,"line":272},11,[47,274,275],{"class":68},"                ipAddress ",[47,277,278],{"class":64},"=",[47,280,219],{"class":68},[47,282,72],{"class":57},[47,284,247],{"class":68},[47,286,202],{"class":57},[47,288,289],{"class":82}," \u002F\u002F获取 ip\n",[47,291,293],{"class":49,"line":292},12,[47,294,295],{"class":57},"        }\n",[47,297,299],{"class":49,"line":298},13,[47,300,301],{"class":57},"    }\n",[47,303,305],{"class":49,"line":304},14,[47,306,307],{"class":57},"}\n",[27,309,310],{},"任务完成！下面开始学习 socket 通信。",[312,313,314],"style",{},"html pre.shiki code .sbgvK, html code.shiki .sbgvK{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .su5hD, html code.shiki .su5hD{--shiki-light:#90A4AE;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sGLFI, html code.shiki .sGLFI{--shiki-light:#6182B8;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}html pre.shiki code .sVHd0, html code.shiki .sVHd0{--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#D73A49;--shiki-default-font-style:inherit;--shiki-dark:#F97583;--shiki-dark-font-style:inherit}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":42,"searchDepth":86,"depth":86,"links":316},[],null,"2012-07-28",false,"md","成都",{},true,"\u002Fposts\u002F2012\u002Fcsharp-get-ipaddress",{"text":326,"minutes":327,"time":328,"words":329},"2 min read",1.52,91200,304,{"title":22,"description":29},{"loc":324},"posts\u002F2012\u002F20120728.csharp-get-ipaddress",[334,335],"技术",".NET","中午","GwWG8vIatcoF2JywldfLLQRoJzUjhKTelQzSQc6ah-c",[339,345],{"title":340,"path":341,"stem":342,"date":343,"description":344,"children":-1},"Android 单元测试","\u002Fposts\u002F2012\u002Fandroid-unit-test","posts\u002F2012\u002F20120731.android-unit-test","2012-07-31","今天终于向让我退缩了很久的单元测试前进了一步。",{"title":346,"path":347,"stem":348,"date":349,"description":350,"children":-1},"Android Wifi 的设置、连接操作","\u002Fposts\u002F2012\u002Fandroid-wifi-connection","posts\u002F2012\u002F20120723.android-wifi-connection","2012-07-23","我项目中这部分的代码是参考的这里的：http:\u002F\u002Fblog.csdn.net\u002Fcscmaker\u002Farticle\u002Fdetails\u002F7032277",1777579153091]