网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
09月12日漏签0天
vb吧 关注:155,999贴子:1,166,262
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 9回复贴,共1页
<<返回vb吧
>0< 加载中...

【讨论】如何做类似QQ公告窗?(实时让客户端弹出)

  • 只看楼主
  • 收藏

  • 回复
  • 黑马GG
  • 啥也不懂
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
QQ有时候会在屏幕右下角弹出即时新闻窗口(现在很多软件都有,比如迅雷 360 等等)
现在我想实现这样的效果
就是服务器端要发布一个公告,设置好内容后,所有运行着的客户端都会即时弹出这个窗口。
我现在有个思路,希望大家帮忙看看可行不,如果有更好的方法,欢迎大家指点小弟
所有客户端在启动的时候,自动启动一个小程序,该程序是隐藏任务栏窗口和图标的,只有进程里面有(迅雷的那个FLASH广告在任务栏就可以单独结束)
这个小程序就是公告栏窗口,只不过启动时候就是隐藏的,它在启动后自动在当前文件夹下建立一个TXT文本,写入内容为 0 ,下次启动的时候检测这个TXT,如果有则不建立TXT,直接读取内容
然后程序每隔1分钟检测一次服务器,我打算是用服务器上一个ASP文件,里面只放一个字 O
程序获取到服务器的这个地址内容为0,对比数据,如果是相同的,则继续循环间隔1分钟去检测服务器
当我想要更新公告的时候,我把服务器这个ASP的内容更该为1,客户端在检测到数据1和本地数据0对比后发现不匹配,然后获取服务器另外一个地址,这个ASP可以放这次要发的公告内容,程序把内容显示到窗口里面的一个文本框,并显示这个窗口,这样就达到了我需要的目的,同时将本地TXT内容改成1,和服务器同步,这样客户端再检测的时候就不会出现第二次了,直到下次更新的时候,我服务器的ASP改成2即可让这个客户端再次显示新内容
不知道一般带公告窗口的的软件,都是通过什么方法实现的?
用我这个方法,不知道会不会因为客户端用户有好几万个,然后一起向服务器发送数据会导致服务器瘫痪?
还是有其他什么方法,不需要客户端定时检测的,服务器端发送个命令,运行中的客户端都会一起弹出窗口?
希望大家讨论下,呵呵


  • lionking1990
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我知道QQ的不是用这个方法
这个方法既费资源,又像是一个木马程序
说明:
我电脑每天都开很多个QQ号
现在QQ消息左上角都带有头像了,也有QQ号标识
很容易知道是哪个的先出来
通常,是QQ号比较小的,靠前的QQ号先收到QQ消息
比如我的一个315****就比466***先收到公告消息
……
所以,我有理由相信,QQ分发消息是以QQ号形式,从小号分发到大号(这个词有点……)
QQ登陆时,服务器上的连接都可以知道你的IP地址,端口
只要服务器发送一个数据包给QQ,QQ收到这个包,解包,再以消息形式显示
这大概就是你要的效果了
你的是在线登的吗?


2026-09-12 05:49:15
广告
不感兴趣
开通SVIP免广告
  • lionking1990
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我估计不发
发了,又有仁兄跑出来说,这个东西哪里哪里有好多
要么就是这种方法这么简单,要么……
总之批的多
本来想赶工做一个作品,后来想一想,得了吧,买彩票的人都是我这心理,就不赶工了
还是在贴吧里面帮别人解决问题,充充高手好了


  • 黑马GG
  • 啥也不懂
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
唉。。。我公司的是棋牌游戏
现在是边锋那帮人开发的
是个试验品,所以很多功能都还没有
然后刚好最精需要加上这个公告窗
我就想能不能自己写个程序,只要用户登陆游戏的时候把这个文件一并在后台运行,然后远离如我上面说的,我就可以达到目的了
这样就不需要那边单独再去开发这个小玩意了
那现在按照你说的,我是不是需要在这个小程序被运行的时候,和我自己再单独开发一个服务器端程序,之间建立一个连接,把这个客户端的IP以及端口号保存到服务器,然后在我要发公告的时候,服务器端程序会把目前所有存在的连接挨个发出消息?
那按照你这个远离,QQ有时候有几千万人在线,它一个公告岂不是要发几千万次?这总共的时间得需要多久哦。。


  • lionking1990
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
你要这么做也可以,但是360可能会把你列入那种名单中,360上面列了好多关闭后还在后台运行的应用程序
所以有的消息好久才能收到,像我那个466***的号
一般比315那个晚15~30分钟,通常新闻都成旧闻了(夸张)
我说的不是那样,你做棋牌游戏总有服务器吧
服务端如果有,那么在服务端向每个连接的IP发送一个数据包,内容就是你要发的东西,或者是一个单纯的网址,你的棋牌游戏识别这个包,并提取内容,显示出来
并不是像你说的,连个广告程序也要连上服务器,而是这个东西本身在游戏里面,服务器发布一个消息告知道游戏要打开广告,告知是什么广告


  • lionking1990
  • 网络通信
    11
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
应该没你说的那么难吧
一千万条消息,1秒发1000个IP,也就是一小会


  • 换号多次
  • 递归爆栈
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这个方法既费资源,又像是一个木马程序 
“木马程序”实际在大软件基本上都用 所以不是这个方法特有的
 费资源是根据客户端而定 其他方法也不能保证访问流量超过时的服务器不瘫痪 此方法在流量内也不会使服务器瘫痪
每隔1分钟检测一次服务器也许QQ没用在公告上 但是QQ好友在线状态却是实时的 也许是1秒1次吧


  • 黑马GG
  • 啥也不懂
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
嗯,原理懂了
看来还是他们自己开发比较好
登陆游戏的时候就和服务器建立连接
发公告的时候只要通知在线的每个连接,然后让客户端显示窗口即可,然后那个窗口是自己去获取某个地址,来获取内容并显示
不过我还是想自己开发个服务端,想学习学习,呵呵
反正我们老板也不会用我搞的这个程序,我只当自己学习编程吧


2026-09-12 05:43:15
广告
不感兴趣
开通SVIP免广告
  • 黑马GG
  • 啥也不懂
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
VB中的WINSOCK可以建立连接,虽然有8K限制,不过貌似传递一个数字来判断是否要显示公告窗是足够了,具体公告内容由公告窗自己去访问另外一个网址即可
但是不知道WINSOCK最多可以建立多少个连接哦,貌似每一个用户都要单独一个控件?服务器会不会爆了。。。晕


  • 黑马GG
  • 啥也不懂
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
http://zhidao.baidu.com/question/53798834.html
这儿貌似还有一个讨论SOCK控件监听的问题


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 9回复贴,共1页
<<返回vb吧
分享到:
©2026 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示