subject_14335.htm
来自「一些关于vc的问答」· HTM 代码 · 共 36 行
HTM
36 行
<p>
序号:14335 发表者:lsg 发表日期:2002-09-05 22:24:48
<br>主题:急,如何得到对方的IP地址
<br>内容:使用CSocket类开发网络程序如何得到对方的IP地址,是否可调用GetPeerNmae()函数,请说明具体的实现方法,谢谢!!!!!!
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:Aguang 回复日期:2002-09-08 10:26:50
<br>内容:只有使用SOCK_STREAM时,用GetPeerName()才可以取得IP地址。用SOCK_DGRAM时可以用ReceiveFrom(...)取得。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:lsg 回复日期:2002-09-09 10:15:56
<br>内容:谢谢你的回答,请问GetPeerName()的用法?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:Aguang 回复日期:2002-09-09 10:29:39
<br>内容:BOOL GetPeerName( CString& rPeerAddress, UINT& rPeerPort )...详细资料可以查MSDN。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:lsg 回复日期:2002-09-09 13:24:19
<br>内容:你好,我手头上无MSDN盘,请举例说明好吗?谢谢!!!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:z 回复日期:2002-09-22 02:22:23
<br>内容:<BR><BR>如何获取网络上其他计算机的名字和IP地址<BR>(hangwire发表于2001-9-25 10:12:21)<BR><BR>[问题提出]<BR>如何获取网络上其他计算机的名字和IP地址?<BR><BR>[解决方法]<BR>实现功能的代码片断:<BR>#Include winsock2.h<BR>CString strTemp;<BR>struct hostent *host;<BR>struct in_addr *ptr; // 获取IP地址的结构<BR>DWORD dwScope = RESOURCE_CONTEXT;<BR>NETRESOURCE *NetResource = NULL;<BR>HANDLE hEnum;<BR>WNetOpenEnum( dwScope, NULL, NULL, NULL, &hEnum );<BR>WSADATA wsaData;<BR>WSAStartup(MAKEWORD(1,1),&wsaData);<BR>if ( hEnum )<BR>{<BR>DWORD Count = 0xFFFFFFFF;<BR>DWORD BufferSize = 2048;<BR>LPVOID Buffer = new char[2048];<BR>WNetEnumResource( hEnum, &Count, Buffer, &BufferSize );<BR>NetResource = (NETRESOURCE*)Buffer;<BR>char szHostName[200];<BR>for ( unsigned int i = 0; i < BufferSize/sizeof(NETRESOURCE);<BR>i++, NetResource++ )<BR>{<BR>if ( NetResource->dwUsage == RESOURCEUSAGE_CONTAINER &&<BR>NetResource->dwType == RESOURCETYPE_ANY )<BR>{<BR>if ( NetResource->lpRemoteName )<BR>{<BR>CString strFullName = NetResource->lpRemoteName;<BR>if ( 0 == strFullName.Left(2).Compare("\\\\") )<BR>strFullName = strFullName.Right(strFullName.GetLength()-2);<BR>gethostname( szHostName, strlen( szHostName ) );<BR>host = gethostbyname(strFullName);<BR>if(host == NULL) continue;<BR>ptr = (struct in_addr *) host->h_addr_list[0];<BR>// 211.40.35.76 分割成如下形式.<BR>int a = ptr->S_un.S_un_b.s_b1; // 211<BR>int b = ptr->S_un.S_un_b.s_b2; // 40<BR>int c = ptr->S_un.S_un_b.s_b3; // 35<BR>int d = ptr->S_un.S_un_b.s_b4; // 76<BR>strTemp.Format("%s --> %d.%d.%d.%d",strFullName,a,b,c,d);<BR>AfxMessageBox(strTemp);<BR>}<BR>}<BR>}<BR>delete Buffer;<BR>WNetCloseEnum( hEnum );<BR>}<BR>WSACleanup();<BR><BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?