社区
网络及通讯开发
帖子详情
如何判断用软件实现双机的功能?
hb_wxy
2005-09-13 07:43:07
两台电脑各写一个服务程序,判断对方是否可以建立连接, 如果不可以则把本机ip改为浮动的ip地址.
1. 如何判断是否可以和对方建立连接;
2. 如何修改ip.
...全文
166
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
煤矿安全监控系统
双机
软件
切换
功能
实现
为满足《煤矿安全监控系统通用技术要求》与《煤矿井下作业人员管理系统通用技术条件》中关于系统必须具有
双机
切换
功能
的要求,
实现
软件
自监视与双主机自动切换的
功能
。...完成
双机
软件
的自动切换,
实现
双机
值守
功能
。
keepalived
实现
双机
热备
Keepalived
实现
双机
热备 Keepalived 是一个类似于 Layer3, 4, 5 交换机制的
软件
,也就是我们平时说的第 3 层...Keepalived 是一个
功能
强大且灵活的
软件
,可以
实现
双机
热备,提高服务器的高可用性和自动故障转移能力。
免费
双机
热备
软件
windows平台 64位
负载均衡是
实现
双机
热备的重要手段,它通过分配网络流量到多台服务器来提高服务的可用性和响应速度。在Windows平台上,负载均衡可以手动配置,也可以通过专门的
软件
工具自动管理。描述中提到的
软件
具有负载均衡
功能
...
免费
双机
热备
软件
双机
热备是一种重要的IT解决方案,它旨在确保关键业务系统的连续性和稳定性。在这个场景中,我们讨论...在使用ha4win时,应遵循最佳实践,充分理解
软件
功能
,并根据实际业务环境进行定制化配置,以
实现
最佳的热备效果。
用串口
实现
双机
互联
"用串口
实现
双机
互联"的标题揭示了我们要探讨的核心内容,即如何利用串行接口连接两台计算机进行数据传输。这通常涉及到编程,特别是对于初学者,MFC(Microsoft Foundation Classes)是一个很好的学习平台。 MFC是...
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章