有点麻烦的问题,比较急,解决立即放分

u2m 2003-08-21 09:36:32
Ras两台机器点对点拨号,一台机器拨号到服务器成功后会得到自己分配的IP和服务器的IP
,拨号后作一个下载功能的软件(功能已经实现),现在的问题是因为每次拨号两台机器的IP都会自动改变,我怎么才能让服务器端的下载服务器软件每次监听到IP改变然后自启动那?有什么比较好的方法吗?
...全文
60 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
dhyuser10 2003-08-21
  • 打赏
  • 举报
回复
gz
u2m 2003-08-21
  • 打赏
  • 举报
回复
哦,放分了,我以前想错了,总是不自觉的有个误区。以为服务器启动监听跟自身的IP也有关系,
其实不然。感谢各位了,让我把这个走出这个误区了。多谢多谢
blastball 2003-08-21
  • 打赏
  • 举报
回复
无论什么情况,必须有一方的信息已知才可能连接。
服务器的IP也会随时变?什么逻辑。如果服务器的IP也会变。就要通过域名解析的过程了。
mfc168 2003-08-21
  • 打赏
  • 举报
回复
服务器是2K吗?只改变IP,不用重新启动,如果改服务器的名称,就必须要重新启动才可以生效,连接已经建立了,所以创建SOCKET也绝对没问题
mfc168 2003-08-21
  • 打赏
  • 举报
回复
我觉得你的意思应该是先拨号,建立连接,然后才能有下载监听,是这个意思吗?
既然连接已经建立了,那么就容易了,修改你的监听程序,主进程采用两个线程,一个监听是否有下载请求,一个监听是否IP改变,如果IP改变,重新初始化你的监听程序
u2m 2003-08-21
  • 打赏
  • 举报
回复
bluestar(蓝色星星) :服务器端IP我客户机拨号上去之后我就会自动获得到这个IP地址,无需gethostbyname转换,现在问题是我服务器端怎么创建这个socket,我在客户机没有拨号之前
服务器打开时它的IP是127.0.0.1,拨号上去后它的IP就改变了,例如变为192.168.*.*,
我客户机这个时候再连接这个IP会连接上吗?服务器不需要重新启动吗》?
u2m 2003-08-21
  • 打赏
  • 举报
回复
: lansefeng:因为点对点拨号上去,两端IP都会重新分配
bluestar 2003-08-21
  • 打赏
  • 举报
回复
服务端使用INADDR_ANY监听,那么客户端IP怎么变化也无所谓啦
客户端拨号上去的时候,使用gethostbyname通过名字取服务端的IP,然后connect,谁说gethostbyname只能取本机呢?

lansefeng 2003-08-21
  • 打赏
  • 举报
回复
为什么ip要总变化?是在公网吗?
u2m 2003-08-21
  • 打赏
  • 举报
回复
mfc168(闶阆):两台机器没办法建立Socekect连接的,除非我已经拨号上去了,不然两端IP都不知道怎么连接,那个监视IP变化的到可以,但是怎么作呢??
u2m 2003-08-21
  • 打赏
  • 举报
回复
我服务器端的IP会经常变动的,楼上的gethostbyname只是得到本机 IP,对我来说有什么用那?
我客户机一拨号上去,两端的IP都会发生变化,怎么确保我服务器端受到IP变化的消息,重新开启
ftp服务器呢?
mfc168 2003-08-21
  • 打赏
  • 举报
回复
采用远线程监控,每隔一段时间读一下服务器的IP,记载一个初始IP,如果发现变化,TerminateThread,通过RPC,远程唤醒原监听程序,或者两台机器建立SOCKET连接,通过传递一些自定义命令来让程序重新初始化
balas 2003-08-21
  • 打赏
  • 举报
回复
在你的程序中做呀,先重启动一个,然后再把当前关掉不就行了?
bluestar 2003-08-21
  • 打赏
  • 举报
回复
使用gethostbyname这个API,通过名字返回IP地址,只要正式的主机名不变就可以了。
u2m 2003-08-21
  • 打赏
  • 举报
回复
那我服务器端程序肯定要在拨号前就启动的,也就是一直都启动。我服务器端的socket创建可以不用IP,用机器名字创建的吗?我客户端连接怎么用服务器名字而不用IP连接?
Pipi0714 2003-08-21
  • 打赏
  • 举报
回复
可以用你的机器名称,不用IP地址也可以。另外也可以获得与你连接的机器的机器名和IP地址。

16,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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