自动更新中 push技术怎么实现?

sybtjp 2010-03-08 03:57:55
push技术用vc怎么实现。

现在想做一个自动更新的软件,为了减轻服务器的压力,计划采用push技术,就是所谓的推送,当更新服务器上有新的数据的时候,就给客户端一个通知,然后客户端下载,更新。
现在的有一点我想不明白,客户端从未和服务端连接过,服务端怎么把数据正确的推送给客户端?要实现这种推送,用VC++应该怎么去实现呢?
...全文
188 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
Night 2010-03-19
  • 打赏
  • 举报
回复
push技术没听说过,百度下
WinEggDrop 2010-03-18
  • 打赏
  • 举报
回复
服务器连客户端?这太搞笑了吧,先不说客户端很多在内网,还有各种各样不同的网关,估计就算是UDP打洞都不可能全部成功,你告诉我服务器怎样连上客户端去?
wjy555 2010-03-15
  • 打赏
  • 举报
回复
路过,学习
superdiablo 2010-03-09
  • 打赏
  • 举报
回复
Push也不是说让服务器去找客户端吧。让客户端先连接服务器,服务器记录该连接,然后服务器在恰当的时候通知客户端去下载更新。
ykj76 2010-03-09
  • 打赏
  • 举报
回复
引用 8 楼 sybtjp 的回复:
ykj76  ,你说的是pull技术吧,客户端请求,服务端发送。

的确弄混了-_-

自动更新采用push的话,意味着server去主动找client,如果server没有client的IP地址列表的话,意味着需要遍历,有点太疯狂.(垃圾邮件有点类似push)
an_bachelor 2010-03-09
  • 打赏
  • 举报
回复
你要从服务端发起也可以 让你的客户端都监听一个特定的端口
然后你服务端随便找一个地址就发给他一个有更新的消息 让客户端机器更新了以后
自己乱传 自己找局域网内的机器传 并且随机找一些地址 问他们要不要更新?
你服务器就可以只给少数几个机器传更新 他们自己像病毒一样乱伦性的传就ok
要证明更新文件的有效性 可以给文件签名
奔跑前行 2010-03-09
  • 打赏
  • 举报
回复
应该可以类似于 心跳包的方式吧!! 定期多久去检查一下服务器的更新,看是否有更新,有就自动下载下来,这样不是很合适吗???
oyljerry 2010-03-09
  • 打赏
  • 举报
回复
为了保持尽可能快的更新,可以让客户端周期性找服务端查询是否有更新,有更新就下载新的
oyljerry 2010-03-09
  • 打赏
  • 举报
回复
由于客户端可能出现在各种可能的环境,你服务端做push技术很不方便,只能由客户端主动发起请求,然后再跟server建立连接,然后下载更新等...
sybtjp 2010-03-09
  • 打赏
  • 举报
回复
ykj76 ,你说的是pull技术吧,客户端请求,服务端发送。
Eleven 2010-03-08
  • 打赏
  • 举报
回复
引用 3 楼 ziplj 的回复:
push ebp
move ebp,esp
sub ebp,44h
push ebx
push esi
push edi

汇编都整出来啦,书记NX
ykj76 2010-03-08
  • 打赏
  • 举报
回复
push技术不是你理解的样子
对于B/S的push,是需要server和client双方同时配合实现的
首先client->server发出请求,等待server应答
然后server发数据给client,始终告诉client数据未结束,而client则边接受边显示
ziplj 2010-03-08
  • 打赏
  • 举报
回复
push ebp
move ebp,esp
sub ebp,44h
push ebx
push esi
push edi
wangk 2010-03-08
  • 打赏
  • 举报
回复
没见识过。

肯定要连服务器的,否则杀毒软件之类的还不都用这种技术更新?
yxwsbobo 2010-03-08
  • 打赏
  • 举报
回复
mark

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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