社区
网络及通讯开发
帖子详情
求助:::如何利用程序来实现NAT?
zhuangbin
2005-07-12 11:32:49
如何利用程序来控制NAT设备,建立端口映射.
有人说在c++ builder 6.0中有一个控件:IdMappedPortTCP可以实现.
可是我对这个控件一点也不熟悉,大家可以给写个简单的NAT程序吗?
谢谢了.
...全文
433
25
打赏
收藏
求助:::如何利用程序来实现NAT?
如何利用程序来控制NAT设备,建立端口映射. 有人说在c++ builder 6.0中有一个控件:IdMappedPortTCP可以实现. 可是我对这个控件一点也不熟悉,大家可以给写个简单的NAT程序吗? 谢谢了.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
25 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xfpjl
2005-10-01
打赏
举报
回复
看过
dargons
2005-07-20
打赏
举报
回复
可能是端口已经被占用,
或者是控件本身的一些属性设置的问题.
zhuangbin
2005-07-19
打赏
举报
回复
这是我自己写的一个简单的端口映射程序,以前都可以运行的,但现在一编译就不能运行
不知道是什么原因,大家帮忙看一下吧?
首先对IdMappedPortTCP的Bindings属性进行设置:127.0.0.1:6222(服务端的端口是6222)
下面是程序:
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
IdMappedPortTCP1->MappedHost=Edit1->Text;// "193.193.193.177";
IdMappedPortTCP1->MappedPort=StrToInt(Edit2->Text);//6222;
IdMappedPortTCP1->Active=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
IdMappedPortTCP1->Active=false;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
exit(0);
}
我第一次运行的时候可以执行的,现在却不可以进行编译了.
不知道大家有没有碰到过类似的问题,请帮忙看一下,多谢了.
zhuangbin
2005-07-14
打赏
举报
回复
可以给说一下<端口映射3.0版(支持请求延迟功能)>的使用方法吗?
它可以在内网内进行测试吗?
谢谢了,在线等.
WiseNeuro
2005-07-14
打赏
举报
回复
up
zhanghaicumt
2005-07-14
打赏
举报
回复
招聘兼职年薪3万!! 要求:1、有上网条件; 2、每天能上网1-2小时; 3、有网络应用的基础(会发邮件和论坛发贴)。 地区不限,年龄不限,工作时段不限,一切网上搞定。工资待遇:2000元以上/月。做得好年薪达10 万多。无须面试,网上报名即可,如果你觉得这是一个机会,请登陆http://www.ads4cn.com/newsbar/refferer.asp?zhangcumt看看这个网站的每一个细节。这里没有风险,不是冒险家的乐园,而是智者展现才华的用武之地,这份工作需要的只是你每天的坚持和定期的上网,不想试试吗?来吧,给自已一个展示的机会!
顾君彦
2005-07-14
打赏
举报
回复
端口映射很简单.
NAT稍复杂一些
网上有一个socketagent软件就可以做到,
不过是c#写的,你要的话,我可以把源码发给你.
zhuangbin
2005-07-13
打赏
举报
回复
我的调试环境:在局域网内的两台机器上分别运行客户端和服务器端程序,我的地址是192.168.0.178,服务端的地址是192.168.0.177,端口是6222;
在我的机器上运行客户端的程序,在要输入的服务器地址上输入我的地址:192.168.0.178,启用端口映射,可以连到服务器上.
我现在的疑问是:这怎么感觉好象和NAPT正好一反?
zhuangbin
2005-07-13
打赏
举报
回复
真的非常感谢你们,我现在已经实现了简单的端口映射,正在调试.
但我不知道这算不算是NAT,因为这还需要输入映射的端口号.
dargons
2005-07-13
打赏
举报
回复
在Bindings属性中可以绑定自己的IP和端口号
在程序中可以这样实现:
先在在Bindings属性中可以绑定自己的IP和端口号
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
IdTCPServer1->Active=true;
IdMappedPortTCP1->MappedHost="193.193.193.201";//网关的IP
//IdMappedPortTCP1->MappedHost="61.52.133.157";//公网IP
}
constantine
2005-07-12
打赏
举报
回复
记错了是源码中国:www.Cn700.com
constantine
2005-07-12
打赏
举报
回复
这个网上有一个端口映射的代码,应该是出到3.0版吧,有代码,不过是delphi的
好像再www.playicq.com就有你找找
zhuangbin
2005-07-12
打赏
举报
回复
对于NAT的原理和类型我已经看过了,
但就是不知道该如何使用这个控件实现.
希望大家帮忙,在线等.
zhuangbin
2005-07-12
打赏
举报
回复
运行后出现:"Socket Error #10049"(在其上下文中,该请求的地址无效)。
能不能帮我分析一下原因,
另外我想问一下IdMappedPortTCP的Bindings属性应该如何设置呢?
zhuangbin
2005-07-12
打赏
举报
回复
to:constantine(飘遥的安吉儿)
你好,我在一篇文章<<使用INDY的IdMappedPortTCP控件实现动态的HTTP代理服务器 >>
仿照它上面的代码,我用CB和控件IdMappedPortTCP写了下面一段程序:实现NAT的功能,
可能还不能实现,想请你帮我看一下.
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
IdTCPServer1->Active=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::IdMappedPortTCP1Execute(TIdPeerThread *AThread)
{
//AThread->Connection->Write("Hello");
//IdTCPClient1->Host="193.193.193.178";//我本机的IP
//IdTCPClient1->Port=80;
IdMappedPortTCP1->MappedHost="193.193.193.201";//网关的IP
//IdMappedPortTCP1->MappedHost="61.52.133.157";//公网IP
IdMappedPortTCP1->MappedPort=2005;
AThread->Connection->Disconnect();
}
//---------------------------------------------------------------------------
dargons
2005-07-12
打赏
举报
回复
to:constantine(飘遥的安吉儿)
我也下载了 <端口映射3.0版>
对其中有些问题不太明白,想问一下:
那上面的目标地址是不是所谓的公网IP?
有没有CB方面的程序可以参考.
dargons
2005-07-12
打赏
举报
回复
to:constantine(飘遥的安吉儿)
这是不是就是<端口映射3.0版(支持请求延迟功能)>的代码呀?
我没学过Delphi,只是看起来像.
好象跟c++不太一样.
zhuangbin
2005-07-12
打赏
举报
回复
你好,我想问一下在<端口映射3.0版(支持请求延迟功能)>
中的目标地址和目标端口是否指的是公网的IP?
它所实现的是不是NAPT(网络地址端口转换)?
zhuangbin
2005-07-12
打赏
举报
回复
你好,我想问一下在<端口映射3.0版(支持请求延迟功能)>
中的目标地址和目标端口是否指的是公网的IP?
它所实现的是不是NAPT(网络地址端口转换)?
zhuangbin
2005-07-12
打赏
举报
回复
谢谢你,我先看看.
有问题,再麻烦你.
加载更多回复(5)
华为eNSP:静态
NAT
、动态
NAT
、端口
NAT
的配置(NAPT)-网络地址转换
本文详细介绍静态
NAT
、动态
NAT
及NAPT的配置方法与注意事项,包括配置步骤、测试验证及地址
利用
率比较等内容。
NAT
的原理与类型,静态
NAT
、动态
NAT
本文详细介绍了
NAT
(网络地址转换)的背景、工作原理和不同类型,包括静态
NAT
、动态
NAT
、端口
NAT
(PAT)以及EasyIP的应用。
NAT
主要用于节省公网IP地址,
实现
内网与外网的互通,并提供了一定的安全性。静态
NAT
是一对一的转换,动态
NAT
更节省地址,而PAT通过端口转换进一步提高了公网IP地址的
利用
率。此外,还讨论了如何通过
NAT
Server
实现
外网访问内网服务,如WEB和FTP,以及如何配置远程管理交换机。
NAT
的四种分类:全锥形
NAT
,地址受限锥形
NAT
,端口受限锥形
NAT
,对称
NAT
本文详细介绍了四种类型的
NAT
:全锥形
NAT
、地址受限锥形
NAT
、端口受限锥形
NAT
和对称
NAT
。全锥形
NAT
允许任意公网主机与内网主机通信,而地址受限和端口受限
NAT
在通信上有特定限制。对称
NAT
则根据四元组创建一对一的映射,任何元组变化都会导致新的映射。这些
NAT
类型在网络安全和P2P通信中起到关键作用。
NAT
基础:
NAT
技术原理,静态
NAT
、动态
NAT
、NAPT、Easy IP、
NAT
Server的原理,以及各
NAT
的配置方法和转换示例。
本文详细介绍了网络地址转换(
NAT
)技术,包括静态
NAT
、动态
NAT
和NAPT的原理、转换示例及配置方法。静态
NAT
是一对一映射,不节省公网地址;动态
NAT
使用地址池,节省地址但地址不固定;NAPT通过端口转换
实现
一对多映射,提高地址
利用
率。此外,还提及了EasyIP和
NAT
Server的配置与应用场景。
NAT
网络地址转换技术(一)
NAT
原理介绍:静态
NAT
、动态
NAT
、NAPT、Easy IP、
NAT
ALG、
NAT
服务器、双向
NAT
技术
本文深入探讨了
NAT
技术,解释了其出现的原因、基本概念、以及各种
NAT
技术的原理,包括静态
NAT
、动态
NAT
、NAPT、EasyIP、
NAT
ALG、
NAT
服务器和双向
NAT
技术。此外,还详细介绍了
NAT
技术如何解决IPv4地址短缺问题,以及其在网络通信中的作用。
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章