请教!如何编程序得到本机拨号上网的ip地址(本机在局域网内,有一个ip地址,不是这个)

CKEN 2000-03-28 05:57:00
如题
...全文
138 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Un1 2000-04-07
  • 打赏
  • 举报
回复
Dim lpraspppip As RASPPPIP
lpraspppip.dwSize = 40
If RasGetProjectionInfo(mhConn, RASP_PppIp, lpraspppip, 40) = 0 Then
mRemoteIPAddress = TrimNull(StrConv(lpraspppip.szServerAddress, vbUnicode))
End If
honeyhu 2000-04-06
  • 打赏
  • 举报
回复
通过拨号用 PPP 上网,本身有网卡 NIC。在求 ip 地址时总是只得到一个 ip(实际是NIC
的 IP),无法得到另一个 ip。最近再试了一下,可以得到两个 ip。
代码为:
char szHostName[128];
CString m_IpAdd1, m_IpAdd2;
if( gethostname(szHostName, 128) == 0 ) //得到本地机名
{
struct hostent * pHost;
pHost = gethostbyname(szHostName);
m_IpAdd1 = inet_ntoa(*((struct in_addr*)(pHost->h_addr_list[0])));
//第一个 ip,为 NIC IP
if (pHost->h_addr_list[1] != NULL) //没有拨号时当然没有PPP IP
m_IpAdd2 = inet_ntoa(*((struct in_addr*)(pHost->h_addr_list[1])));
//第二个 ip,为 PPP IP
}
kxy 2000-03-28
  • 打赏
  • 举报
回复
procedure TForm1.ButtonIPClick(Sender: TObject);
type
TaPInAddr = Array[0..10] of PInAddr;
PaPInAddr = ^TaPInAddr;
var
phe: PHostEnt;
pptr: PaPInAddr;
Buffer: Array[0..63] of Char;
I: Integer;
GInitData: TWSAData;
IP: String;
begin
Screen.Cursor := crHourGlass;
try
WSAStartup($101, GInitData);
IP:='0.0.0.0';
GetHostName(Buffer, SizeOf(Buffer));
phe := GetHostByName(buffer);
if phe = nil then
begin
ShowMessage(IP);
Exit;
end;
pPtr := PaPInAddr(phe^.h_addr_list);
I := 0;
while pPtr^[I] <> nil do
begin
IP := inet_ntoa(pptr^[I]^);
Inc(I);
end;
WSACleanup;
ShowMessage(IP);
finally
Screen.Cursor := crDefault;
end;
end;

Re:CCNA_CCNP 思科网络认证 《 广域网 帧中继和永久虚电路 》======================# 本章课程大纲 广域网与局域网的区别 广域网连接类型 典型的广域网封装协议 广域网①HDLC协议的配置和应用场景 ②PPP协议的应用场景和配置 ③PPPoE协议实现拨号上网 配置路由器广域网接口支持④帧中继(重点)永久虚电路 # 广域网与局域网的区别 局域网(Local Area Network),简称LAN,是指在某一区域内由多台计算机互联成的计算机组。一般企业或机构自己购买设备,将物理位置较近的办公区的计算机使用网络设备连接起来,一般覆盖范围是几千米以内(光纤组网)。 广域网(Wide Area Network),简称WAN,是一种跨越大的、地域性的计算机网络的集合。由专业的Internet服务器提供商(ISP)提供广域网连接,网通或电信。广域网的带宽由企业所付的费用决定,比如我们上网的ADSL就是租用网通或电信的服务。 # 广域网连接类型 1. 专线(Leased lines)                (当前费用降低) 电路交换  2. 电路交换(Circuit Switching) (早期过气技术...) 3. 包交换(Packet Switching)    (性价比较高且灵活性强)(本章重点) # 典型的广域网封装协议 R1(config-if)#encapsulation ?                     //重新封装(12种)  frame-relay     Frame Relay networks  hdlc                 Serial HDLC synchronous(default)  ppp                  Point-to-Point protocol ... ... # 配置路由器:广域网接口使用HDLC协议# 配置广域网链路使用PPP协议:搭建实验环境# 搭建PPPoE拨号实验环境:实现路由器类DHCP分配各项资源# 帧中继和永久虚电路(本章重点) 帧 数据链路层:帧[frame] [freɪm] 网络层:数据包[packet] 传输层:数据段[segment] [ˈseɡmənt] 中继 中继(Relay)是两个交换中心之间的一条传输通路。 中继线是承载多条逻辑思维链路,在一条物理链路实现。 中继设备(帧中继交换机),将强或归正数据长途传输 帧中继(frame relay) 通过帧标记的复用技术 (类比trunk干道链路:vlan标记的复用计算) # 帧(数据链路层)中继 帧中继已成为近几十年WAN(广域网)服务最流行的技术之一。 帧中继默认情况下归为非广播多路访问(NBMA)网络, 即默认情况下不在网络上发送像RIP更新这样的广播包。 帧中继是从X.25技术发展来的。 永久虚电路(Permanent Virtual Circuits,PVC)是目前最常用的类型。 Permanent [ˈpɜːmənənt] adj. 永久的 永久 即电信公司在内部创建映射,只要你付费,虚电路就一直有效。 交换虚电路(Switch Virtual Circuits,SVC)更像电话呼叫。 当数据需要传输时,建立虚电路; 数据传输完成后,拆除虚电路。 帧中继PVC使用 数据链路连接标识符 (Data Link Connection Identity,DLCI[帧标记])标识DTE设备 控制时钟频率的是DCE,被动端设备DTE-----------------------------              

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧