社区
网络及通讯开发
帖子详情
如何判断用软件实现双机的功能?
hb_wxy
2005-09-13 07:43:07
两台电脑各写一个服务程序,判断对方是否可以建立连接, 如果不可以则把本机ip改为浮动的ip地址.
1. 如何判断是否可以和对方建立连接;
2. 如何修改ip.
...全文
171
5
打赏
收藏
如何判断用软件实现双机的功能?
两台电脑各写一个服务程序,判断对方是否可以建立连接, 如果不可以则把本机ip改为浮动的ip地址. 1. 如何判断是否可以和对方建立连接; 2. 如何修改ip.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
我不懂电脑
2005-10-08
打赏
举报
回复
1.好办,此处不重叙。
2.用ShellExecute调用IpConfig命令修改IP
ccrun.com
2005-10-08
打赏
举报
回复
汗呀汗呀汗~~~~
半夜三点我独自一人灌水。
传说中的改IP都是通过修改注册表实现的。
webwalker
2005-10-04
打赏
举报
回复
找来的。。。。
在Windows系统中,我们经常用Ping.exe来测试网络的连通性。
Ping的实现过程很简单,该命令将引发IP层发送一个简单的IP包,一般是32字节。而目的方收到这个包后,将源地址和目的地址变换一下,重新发送这个包即可,当然还要加一些超时机制。
其实,我们也可用C++ Builder NetMaster中的NMEcho控件来实现网络连接检测功能。
首先定义以下控件:
三个Edit控件:一个用于接收远程主机的IP地址或域名,一个用于接收用户设置的超时机制的时间,一个用于设置端口号。
两个RichEdit控件:一个用于给远程主机发送信息,一个用于接收来自远程主机的信息。
两个CheckBox控件:用于用户是否自己设定端口号。
一个Button控件:用于执行测试。
一个StatusBar控件:用于显示应用程序的状态。
程序实现代码如下:
void __fastcall TForm1::Button1Click(Tobject Sender)
{ //设置NMEcho控件的标准TCP/IP属性
NMEcho1->Host=Edit1->Text ;
NMEcho1->TimeOut=StrToInt(Edit2->Text) ;
if(CheckBox1->Checked)
NMEcho1->Port=StrToInt(Edit3->Text);
else
NMEcho1->Port=7;
//TCP/IP中Echo的默认端口号
NMEcho1->ReportLevel=Status_Basic;
NMEcho1->Connect(); //建立连接
RichEdit2->Clear ();
for(int i=0;i<RichEdit1->Lines->Count;i++)
//RichEdit1用于给远程主机发送信息
RichEdit2->Text=RichEdit2->Text +NMEcho1->Echo(RichEdit1->Lines->
Strings[i]);
NMEcho1->Disconnect ();
}
注意:在调用NMEcho控件的Connect()方法时,应该确保在接收数据之前连接已经建立。
当调用Connect()方法后,如果用户输入的是域地址而不是IP地址,且域名服务器成功地解析了这个域名,将触发控件的OnHostResoved事件,在此事件的处理中,我们将解析成功的消息在状态栏中显示给用户。具体实现代码如下:
void __fastcall TForm1::NMEcho1HostResolved(Tcomponent Sender)
{
StatusBar1->Panels->Items[0]->Text="Host Resolved!";
}
如果用户输入的远程主机不正确,将触发控件的OnInvalidHost事件,在此事件的处理中,弹出对话框要求用户重新输入远程主机的IP地址或域名地址,然后试图与服务器重建连接。具体代码如下:
void __fastcall TForm1::NMEcho1InvalidHost(bool &&Handled)
{
AnsiString s;
if(InputQuery("Invailid host!","Specify a new host:",s))
{
NMEcho1->Host=s;
Handled=true;
}
}
建立连接后,将触发控件的OnConnect事件,在此事件的处理中,我们将连接成功的消息在状态栏中显示给用户。具体实现代码如下:
void __fastcall TForm1::NMEcho1Connect(Tobject Sender)
{
StatusBar1->Panels->Items[0]->Text="Echo has connected host!";
}
如果在调用Connect()方法后,在超时时间仍然没有与服务器连接,将触发控件的OnConnectFailed事件,在此事件的处理中,我们将连接失败的消息显示给用户。具体实现代码如下:
void __fastcall TForm1::NMEcho1ConnectionFailed(Tobject Sender)
{
ShowMessage("Connection failed!");
}
除了NMEcho控件可以实现以上功能外,NetMaster的NMDayTime、NMTime这两个控件也能实现。方法与NMEcho控件一样,区别是NMDayTime和NMTime这两个控件不用首先调用Connect()方法,它们与服务器的连接是在使用DayTimeStr、TimeStr属性时自动进行的。
yuyulily
2005-09-16
打赏
举报
回复
1.两边都是你的程序,你自己设置一个连接标志不就可以了吗?
2。给你点资料,没细看,不知道对你有没有帮助:
回复人: huzhangyou(信仰) ( ) 信誉:100 2002-8-14 0:09:29 得分:0
所谓MAC地址,不过是一种标时罢了,正如一个人的名字,只是一种称呼,并不能由此判断出什么来,以为绑定了MAC地址,就能够判断出是那台机器用了ip地址上网,其实这种方法是不可靠的,我们可以通过简单的方法来修改mac地址,方法如下:
win2000修改方法:
1、在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\0000、0001、0002等主键下,查找DriverDesc内容为你要修改的网卡的描述的,如0000。
2、在其下,添一个字符串,名字为NetworkAddress,值设为你要的MAC地^^^^^【指在0000主键下】址,要连续写。如004040404040。
3、然后到其下NDI\params中加一项NetworkAddress的主键,在该主键下^^^^^【也是指在0000主键下】添加名为default的字符串,值写要设的MAC地址,要连续写,如004040404040。【实际上这只是设置在后面提到的高级属性中的**初始值**,实际使用的MAC地址还是取决于在第2点中提到的NetworkAddress参数,而且一旦设置后,以后高级属性中值就是NetworkAddress给出的值而非default给出的了。】
4、在NetworkAddress的主键下继续添加名为ParamDesc的字符串,其作用为指定NetworkAddress主键的描述,其值可为"MAC Address",这样以后打开网络邻居的属性,双击相应网卡项会发现有一个高级
设置,其下存在MAC Address 的选项,就是你在注册表中加的新项NetworkAddress,以后只要在此修改MAC地址就可以了。
5、关闭注册表,重新启动,你的网卡地址已改。打开网络邻居的属性,双击相应网卡项会发现有一个MAC Address的高级设置项。用于直接修改MAC地址。
在Win9x
1、首先打开注册表,找到HKEY_LOCAL_MACHINE\system\Currentcontrolset\services\classes\net\0000、0001、0002等下,观察DriverDesc内容为你要修改的网卡的描述。
2、在其下,添一个字符串,名字为NetworkAddress,值设为你要的MAC地址,要连续写。如004040404040。
3、然后到其下 NDI\params中加一项NetworkAddress的主键,在该主键下添加名为default的字符串,其值写你要设的mac地址,要连续的写,如004040404040
4、在NetworkAddress的主键下继续添加名为ParamDesc的字符串,其作用为指定nettwork-Address主键的描述,其值可为"MAC Address",这样以后打开网络邻居的属性,双击相应网卡项会发现有一个高级设置,其下存在MAC Address 的选项,就是你在注册表中加的新项NetworkAddress,以后只要在此修改MAC地址就可以了。
只要你知道了对方的ip地址,你可以在dos命令下键入nbtstat -a <对方ip>,就可以直接得到对方的mac地址,然后你修改了你的ip和mac地址,这样,可真是真假难辨了啊。
要不,干脆找一个软件,比如什么r3x什么的,扫描一个ip段,如202.198.XXX.XXX什么的,直接就能够得到ip地址和mac地址的详细信息!!!
所以说,学校绑定ip地址和mac地址,并做按流量收费是不和理的,还不如代理->用户名->密码来得准确!!!
此贴转自编程高手
希望对你又帮助
hb_wxy
2005-09-16
打赏
举报
回复
up
煤矿安全监控系统
双机
软件
切换
功能
实现
为满足《煤矿安全监控系统通用技术要求》与《煤矿井下作业人员管理系统通用技术条件》中关于系统必须具有
双机
切换
功能
的要求,
实现
软件
自监视与双主机自动切换的
功能
。采用VS2010开发平台、C#高级程序设计语言,结合多线程技术,设计一套
双机
软件
切换系统,按照MT/T 772—1998中8.13规定的主要性能测试方法进行严格测试,该
双机
软件
切换系统具备
软件
自监视
功能
,并能够满足通用技术要求的从主机到备用主机正常工作的时间小于5 min的要求,完成
双机
软件
的自动切换,
实现
双机
值守
功能
。
keepalived
实现
双机
热备
企业级应用 keepalived
实现
双机
热备
免费
双机
热备
软件
windows平台 64位
转发一个windows下的64位的
双机
热备
软件
,挺好用的,不建议商用。
免费
双机
热备
软件
双机
热备
软件
,高可用性工具
软件
,
双机
热备工具
软件
,能够监控目标系统的连通性。在目标系统意外停机时,添加虚拟ip并执行启动脚本
用串口
实现
双机
互联
简单的串口通讯
软件
,
实现
双机
互联,适合初学MFC的同学借鉴。
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章