锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
]]>
]]>
]]>CString strMac;
NCB ncb;
ADAPTER_STATUS adapt;
memset(&ncb,0,sizeof(ncb));
ncb.ncb_command = NCBRESET;
//棣栧厛瀵圭綉鍗″彂閫佷竴涓狽CBRESET鍛戒護浠ヤ究榪涜鍒濆鍖?nbsp;
Netbios(&ncb);
ncb.ncb_command = NCBASTAT;
strcpy((char *)ncb.ncb_callname,"*");
// 鎸囧畾榪斿洖鐨勪俊鎭瓨鏀劇殑鍙橀噺
ncb.ncb_buffer = (unsigned char *)&adapt;
ncb.ncb_length = sizeof(adapt);
// 鍙戦丯CBASTAT鍛戒護浠ヨ幏鍙栫綉鍗$殑淇℃伅
Netbios(&ncb);
// 鎶婄綉鍗AC鍦板潃鏍煎紡鍖栨垚甯哥敤鐨?6榪涘埗褰㈠紡
strMac.Format( "%02X%02X-%02X%02X-%02X%02X\n",
adapt.adapter_address[0],
adapt.adapter_address[1],
adapt.adapter_address[2],
adapt.adapter_address[3],
adapt.adapter_address[4],
adapt.adapter_address[5]);
m_edit.SetWindowText(strMac);
]]>
瀵煎叆搴?ws2_32.lib鍜屽ご鏂囦歡 afxsock.h
緗戠粶搴旂敤紼嬪簭璁捐錛屾渶鍩烘湰鐨勪袱涓棶棰樻槸錛?/span>鈶?/span>閫氫俊鐨勮繘紼?strong style="mso-bidi-font-weight: normal">濡備綍鐩鎬簰璇嗗埆錛?/span>鈶?/span>鍙屾柟閲囩敤鎬庢牱鐨勬柟寮?strong style="mso-bidi-font-weight: normal">榪涜鑱旂郴銆?/span>
浠涔堟槸緗戠粶搴旂敤紼嬪簭錛?/span>
搴旂敤紼嬪簭鍙互綆鍗曞湴鍒嗕負錛?/span>
鈶?/span>鏃犻氫俊搴旂敤紼嬪簭
鈶?/span>閫氫俊鐨勫簲鐢ㄧ▼搴忥紙緗戠粶搴旂敤紼嬪簭錛?/span>
榪涚▼闂撮氫俊鐨勯棶棰樺彲浠ュ垎涓轟袱縐嶏細
鈶?/span>鍗曞嚮緋葷粺鐨勮繘紼嬮氫俊銆傛秷鎭佷俊鍙烽噺銆佸叡浜瓨鍌ㄥ尯銆?/span>
鈶?/span>涓嶅悓緋葷粺鐨勮繘紼嬨?span style="COLOR: red">緗戠粶閫氫俊鍗忚銆?/span>
緗戠粶搴旂敤紼嬪簭鐨勮瘑鍒棶棰?/span>
鍗婄浉鍏?/span>錛氫負浜嗗敮涓鍦版爣璇嗙綉緇滀腑閫氫俊鐨勪竴涓繘紼嬶紝鍗抽氫俊涓鏂癸紝灝辮浣跨敤涓涓涓嬬殑涓夊厓緇勶細
錛堟湰鍦板崗璁紝鏈湴IP鍦板潃錛屾湰鍦扮鍙e彿錛?/span>
鐩稿叧錛氫竴涓簲鍏冪粍鍙互鍞竴鏍囪瘑緗戠粶涓袱涓氫俊鐨勮繘紼嬫垨涓鏉¤繛鎺?/span>
錛堝崗璁紝鏈湴IP鍦板潃錛屾湰鍦扮鍙e彿錛岃繙紼?/span>IP鍦板潃錛岃繙紼嬬鍙e彿錛?/span>
緗戠粶紼嬪簭鑱旂郴鐨勬ā鍨嬶細瀹㈡埛/鏈嶅姟鍣?/span>
鏈嶅姟鍣ㄧ殑鍒嗙被錛?/span>
涓茶鏈嶅姟鍣?/span>錛氭湇鍔″櫒鍙湁涓涓繘紼嬬敤涓茶鐨勬柟寮忓瀹㈡埛鍦拌姹傛彁渚涙湇鍔★紱
騫跺彂鏈嶅姟鍣?/span>錛氭湇鍔″櫒鍙互涓哄垎鍒瘡涓鎴瘋姹傚垱寤鴻繘紼嬫垨綰跨▼騫舵彁渚涙湇鍔★紱
鏈嶅姟鍣ㄧ壒鐐癸細
1. 鏈嶅姟榪涚▼涓鑸湪鍚姩鍚庡氨涓鐩磋繍琛岋紝浠ョ瓑寰呭鎴瘋姹傜殑鍒版潵錛岄櫎闈炴湇鍔¤紱佹鎴栨墽琛屽己榪粓姝㈡湇鍔$▼搴忋?/span>
2. 鏈嶅姟鍣ㄦ柟榪涚▼浣跨敤鐨勬槸浼楁墍鍛ㄧ煡鐨勭鍙?/span>錛屽惁鍒欏鎴鋒棤娉曠煡閬撴彁渚涙湇鍔$殑绔彛
3. 鏈嶅姟鍣ㄦ柟閫氬父鎷ユ湁杈冨鐨勮祫婧愩?/span>
4. 鏈嶅姟鍣ㄦ柟榪涚▼鍙互騫惰澶勭悊澶氫釜瀹㈡埛鐨勮姹傦紝浣嗗彲浠ュ悓鏃跺鐞嗙殑瀹㈡埛璇鋒眰鏁扮洰鏄湁涓瀹氶檺鍒剁殑 銆?/span>
5. 鏈嶅姟鍣ㄦ柟鍦ㄩ氫俊鏃跺睘浜?span style="COLOR: red">琚姩鐨勪竴鏂廣?/span>
瀹㈡埛鏂癸細
1. 鍦?u>闇瑕佹湇鍔℃椂鍚戞湇鍔″櫒鎻愬嚭璇鋒眰錛岃姹傜殑鏈嶅姟寰楀埌婊¤凍騫跺畬鎴愬鐞嗕換鍔″悗錛屽氨緇堟瀹㈡埛紼嬪簭鐨勬墽琛?/span>銆?/span>
2. 浣跨敤鍚戠郴緇熺敵璇風殑涓存椂绔彛涓庢湇鍔″櫒鏂硅繘紼嬭繘琛岄氫俊銆?/span>
3. 鎷ユ湁鐩稿杈冨皯鐨勮祫婧愩?/span>
4. 瀹㈡埛鏂瑰湪閫氫俊鏃跺睘浜?span style="COLOR: red">涓誨姩鐨勪竴鏂廣?/span>
Socket緙栫▼絎旇浜岋細Tcp/ip搴旂敤紼嬪簭宸ヤ綔妯″瀷涓庣綉緇滅紪紼嬫帴鍙?/span>
Tcp/ip鍗忚鐨勬牳蹇冨唴瀹硅灝佽鍒版搷浣滅郴緇熶腑錛岀郴緇熸彁渚涚綉緇滅紪紼嬫帴鍙?/span>Windows Sockets鐢ㄤ簬緗戠粶紼嬪簭璁捐銆?/span>
Tcp/ip搴旂敤紼嬪簭宸ヤ綔妯″瀷
瀹㈡埛搴旂敤紼嬪簭 --------------------------鏈嶅姟鍣ㄥ簲鐢ㄧ▼搴?/span>
| |
緗戠粶緙栫▼鎺ュ彛- --------------------------緗戠粶緙栫▼鎺ュ彛
| |
TCP/IP鏍稿績鍗忚 ------------------------ TCP/IP鏍稿績鍗忚
| |
鐗╃悊浼犺緭浠嬭川 -------------------------- 鐗╃悊浼犺緭浠嬭川
鐢ㄦ埛鍦ㄨ繘琛?/span>TCP/IP紼嬪簭璁捐鏃訛紝鏈鍏抽敭鐨勯棶棰樻槸瑕佺啛鎮夋墍鐢ㄥ鉤鍙版彁渚涚殑緗戠粶緙栫▼鐣岄潰API銆?/span>
緗戠粶緙栫▼鎺ュ彛Winsock
Winsock鐨勭増鏈細
1. Winsock1.1 錛?/span>16浣嶏紝鐢?/span>Winsock.dll鏀寔
2. Winsock2.2 錛?/span>32浣嶏紝鐢?/span>Wsock32.dl鏀寔l
WinsockAPI鍑芥暟鍒嗙被錛?/span>
1. 涓?/span>BSDSoket錛?/span>Unix錛夌浉鍏煎鐨勫熀鏈嚱鏁?/span>
2. 緗戠粶鏁版嵁淇℃伅媯绱㈠嚱鏁?/span>
3. Windows涓撶敤鎵╁睍鍑芥暟
Socket緙栫▼絎旇涓夛細濂楁帴鍙g殑姒傚康涓庡叾緙栫▼鍘熺悊
濂楁帴鍙?/span>Soket
紼嬪簭A鈥斺?span style="COLOR: red">濂楁帴鍙?/span>鈥斺旂綉綆¤蔣浠垛斺旂綉鍗?/span> 緗戝崱鈥斺旂綉綆¤蔣浠垛斺?span style="COLOR: red">濂楁帴鍙?/span>鈥斺?strong style="mso-bidi-font-weight: normal">紼嬪簭B
鑻ヤ笉鑰冭檻閫氫俊榪囩▼涓殑緗戠粶鎺ュ彛鍗″拰浼犺緭浠嬭川絳夛紝鍒欑綉緇滈氫俊鐨勮繃紼嬪氨鏄敱鏁版嵁鐨勫彂閫佽呭皢瑕佸彂閫佺殑淇℃伅鍐欏叆涓涓鎺ュ彛錛屽啀閫氳繃涓棿鐜妭灝嗕俊鎭紶杈撳埌鎺ユ敹绔殑濂楁帴鍙d腑錛岀劧鍚庡氨鍙互鐢辨帴鏀剁鐨勫簲鐢ㄧ▼搴忓皢淇℃伅浠庡鎺ュ彛涓彇鍑?u>銆傚洜姝や袱涓▼搴忎箣闂寸殑鏁版嵁浼犺緭瑕侀氳繃濂楁帴鍙f潵瀹屾垚銆?/span>
濂楁帴鍙g殑鏈川錛氬氨鏄氫俊榪囩▼涓墍瑕佷嬌鐢ㄧ殑涓浜涚紦鍐插尯鍙婁竴浜涚浉鍏崇殑鏁版嵁緇撴瀯銆?/span>
濂楁帴鍙g殑鍒嗙被錛?/span>
1. 嫻佸紡濂楁帴鍙o紙SOCK_STREAM錛?/span>;Tcp鍗忚瀹炵幇瀛楃嫻佺殑浼犺緭
2. 鏁版嵁濂楁帴鍙o紙SOCK_DGRAM錛?/span>錛?/span>UDP鍗忚
3. 鍘熷濂楁帴鍙o紙SOCK_RAW錛夛紱搴曞眰鍗忚
濂楁帴鍙g殑緙栫▼鍘熺悊
鏈嶅姟鍣?/span>
Socket()寮鍚湇鍔♀斺?/span>bind()緇戝畾绔彛鈥斺?/span>listen()鐩戝惉璇鋒眰鈥斺?/span>accept()鎺ュ彈璇鋒眰鈥斺?/span>recv()鎺ユ敹鏁版嵁鈥斺?/span>send()鍙戦佹暟鎹斺?/span>closesocket()鍏抽棴濂楁帴鍙?/span>
瀹㈡埛鏂?/span>
Socket()璇鋒眰鏈嶅姟鈥斺?/span>connect()榪炴帴鏈嶅姟鍣ㄢ斺?/span>closesocket()鍏抽棴濂楁帴鍙?/span>
閿欒澶勭悊鏈哄埗
涓嶆垚鍔熺殑Winsock鍑芥暟璋冪敤榪斿洖鐨勬渶甯歌鐨勫兼槸瀹忓畾涔?/span>SOCKET _ERROR錛屽湪 Winsock鐨勫ご鏂囦歡涓?/span>(濡?/span> Winsock2.h)錛屽畠鐨勬暟鍊兼槸-1錛屽疄闄呬笂濡傛灉璋冪敤涓涓?/span>Winsock鍑芥暟鏃跺彂鐢熶簡閿欒錛屽垯搴旇榪涗竴姝ヤ嬌鐢?/span>WSAGetLastError()鍑芥暟錛屼互鑾峰緱瀵硅繖涓閿欒璇︾粏璇存槑銆傝鍑芥暟鐨勪嬌鐢ㄩ潪甯哥畝鍗曪紝鏍煎紡濡備笅錛?/span>
Int WSAGetLastError(void)
榪欐槸涓涓棤鍙傚嚱鏁幫紝璋冪敤鏃惰繑鍥炴渶鏂板彂鐢熺殑緗戠粶閿欒浠g爜銆?/span>
緗戠粶瀛楄妭欏哄簭
灝忓簭鍦ㄥ墠錛氬湪璧峰鍦板潃澶勫瓨鏀炬暣鏁扮殑浣庡簭鍙峰瓧鑺傘?span style="COLOR: red">涓繪満瀛楄妭欏哄簭銆?/span>
澶у簭鍦ㄥ墠錛氬湪璧峰鍦板潃澶勫瓨鏀炬暣鏁扮殑楂樺簭鍙峰瓧鑺傘?span style="COLOR: red">緗戠粶瀛楄妭欏哄簭銆?/span>
鍦?/span>Winsock涓湁涓緋誨垪鐨勫嚱鏁板彲鐢ㄤ簬澶氬瓧鑺傜殑杞崲錛屾妸瀹冧滑浠庝富鏈哄瓧鑺傞『搴忚漿鎹㈡垚緗戠粶瀛楄妭欏哄簭銆?/span>
htonl() ntohl()
WSAHtonl() WSANtohl()
htons() ntohs()
WSAHtons() WSANtohs()