| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 532 人关注过本帖
标题:求一个代替批处理
只看楼主 加入收藏
yy7952
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2013-7-19
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
求一个代替批处理
是这样的
我有一个服务器txt脚本里 需要填写我的外网ip,但是我的ip不能固定,也就是拨号上网,于是我申请了花生壳动态域名,然后想用域名代替我的外网ip,可是外网的用户不能正常连接 所以想求一个批处理或脚本,或者是在脚本里怎么填写一段代码可以代替这个变动的ip,以此来解决这个问题···
先在此谢过了

需要自动修改的地方共有6处:
①D:\Mirserver\DBServer\!addrtable.txt
需自动修改!addrtable.txt内容为

192.168.1.88                     
(此处为自动获取的外网IP)   

例如:
192.168.1.88                  
222.218.53.94  
     
----------------------------------------------
②D:\Mirserver\DBServer\!serverinfo.txt
需自动修改!serverinfo.txt内容为

192.168.1.88 (此处为自动获取的外网IP) 7201
例如:
192.168.1.88 222.218.53.94 7201 (注:ip之间有“空格”间隔)

---------------------------------------------------
③D:\Mirserver\LoginSrv\!addrtable.txt
需自动修改!addrtable.txt内容为

红日传奇 Title1 192.168.1.88 (此处为自动获取的外网IP) (此处为自动获取的外网IP):7101

例如:
红日传奇 Title1 192.168.1.88 222.218.53.94 222.218.53.94:7101 (注:ip之间有“空格”间隔)

---------------------------------------------------------------------------------------
④D:\Mirserver\LoginSrv\!serveraddr.txt
需自动修改!serveraddr.txt内容为

192.168.1.88
(此处为自动获取的外网IP)

例如:
192.168.1.88
222.218.53.94

------------------------------------------------------------------------------------------
⑤D:\Mirserver\Mir200\!RunAddr.txt
需自动修改!RunAddr.txt内容为

192.168.1.88
(此处为自动获取的外网IP)

例如:
192.168.1.88
222.218.53.94

--------------------------------------------------
⑥D:\Mirserver\Mir200\!ServerTable.txt
需自动修改!ServerTable.txt内容为

192.168.1.88
(此处为自动获取的外网IP)

例如:
192.168.1.88
222.218.53.94
---------------------------------------------------



最终目的:
让本计算机可以每隔一段时间就可以自动检测外网ip,然后按以上要求将变动的ip自动写入到对应的文本和目录···
或者,通过某种检测发现外网ip发生变化时候就可以自动完成以上命令!那就更好啦!···
搜索更多相关主题的帖子: 服务器 动态 花生 用户 
2013-07-19 14:53
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4940
专家分:30047
注 册:2008-10-15
收藏
得分:20 
解决的办法:自己写登陆器

一、服务器端,你把对内的IP设置好来,只要服务器能正常运行就可以了。
二、登陆器流程:
1、放 2个 winsock 控件,再放 4个 winsock 控件组的零号元素。
2、解码代码,这个你得到网上找。
3、2个 winsock 控件,侦听,第一个 ,建议是 7000 ,这个可以修改的。第二个任意。
4、流程:
   运行游戏前,把 game.ini  里的 IP 写成本地:127.0.0.1 , 端口写成第一个。
   运行游戏。

   当收到第一个winsock 的连接请求时,用第一个 winsock 控件数组去接受连接,同时用 第二个 winsock 控件数组对应的元素 连接你的登陆服务器 。登陆服务器直接用域名就可以连接。
   第一个winsock 控件数组收的数据,解包,当发现是提供的人物服务器地址时,把这个包的内容 替换为 127.0.0.1 及 第二个侦听的端,同时保存这个地址和端口。用对应的 第二个 winsock 控件数组元素 转发。
   第二个 winsock 控件数组收到数据时,直接用 第一个 winsock控件数组转发。

  当收到第二个winsock 的连接请求时,用第三个 winsock 控件数组去接受连接,同时用 第四个 winsock 控件数组对应的元素 连接你的人物服务器 。
   第三个winsock 控件数组收的数据,解包,当发现是提供的游戏服务器地址时,把这个包的内容 替换为 人物服务器的IP(你游戏服务器和人物服务器IP应该是一起的) 及 游戏服务器的端口(这个刚解包里有)。用对应的 第四个 winsock 控件数组元素 转发。
   第四个 winsock 控件数组收到数据时,直接用 第三个 winsock控件数组转发。

5、数据包:客户端登陆指令->登陆器->登陆服务器->返回用户密码正确->登陆器->客户端,请求人物服务器地址->登陆器->登陆服务器->返回人物服务器信息(错误)->登陆器->连接正确的人物服务器,同时把人物服务器信息指向本地->客户端,收到人物服务器,连接登陆器->登陆器连接人物服务器->…… ->请求游戏服务器->人物服务器返回游戏服务器信息(错误)->登陆器,把正确的游戏服务器信息换进去->客户端,连接正确的游戏服务器。

慢慢看吧。当年我想这个流程弄地半年。不过不是弄的传奇的,但与传奇相通就是了。

授人于鱼,不如授人于渔
早已停用QQ了
2013-07-20 17:02
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4940
专家分:30047
注 册:2008-10-15
收藏
得分:0 
按你 提出的 要求 用 VB6 写定时程序的解决办法。
估计没多大用。

1、用 winsock 连接一个网站,取 本地IP,关闭连接。
2、依次重写各个 TXT 文件。

当你网络没掉线时,一切正常。当你网络掉后,没有重启 mirserver 时,那怕你已重写了 各个 TXT 文件,但 客户端取到的地址还是
运行 mirserver 时的内容,还是开门失败。

授人于鱼,不如授人于渔
早已停用QQ了
2013-07-20 17:10
快速回复:求一个代替批处理
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019627 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved