社区
VB基础类
帖子详情
关于OICQ的实现问题!(我所能给的最高分了)
NetMan1999
2000-09-08 10:31:00
有关于vb实现OICQ的讨论已经很多,但是我认为现在的OICQ能支持几十万用户在线,能否有人告诉我实现如此高性能的OICQ的机理是什么呢?我想恐怕只用VB不能解决吧!
谢谢!
...全文
370
11
打赏
收藏
关于OICQ的实现问题!(我所能给的最高分了)
有关于vb实现OICQ的讨论已经很多,但是我认为现在的OICQ能支持几十万用户在线,能否有人告诉我实现如此高性能的OICQ的机理是什么呢?我想恐怕只用VB不能解决吧! 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
NetMan1999
2000-10-08
打赏
举报
回复
多谢大家,才出差回来,分给晚了一点!呵呵。。
元明
2000-09-22
打赏
举报
回复
ppc207给我也寄一份到icelan@163.net
NiceFeather
2000-09-22
打赏
举报
回复
to flywhc:
欢迎你去回答http://expert.csdn.net/TopicView.asp?id=29333的问题,高分等你拿!
ppc207
2000-09-22
打赏
举报
回复
我有icq的通讯协议,有兴趣来信吧,看后定会有启发。
pc_207@263.net
flywhc
2000-09-11
打赏
举报
回复
哈哈,恰好我刚做好一套ICQ系统 -- 是给公司做的。服务器和客户端都是VB6的。
当然我担心服务器撑不住大用户,正用VC重做。但目前是用的非阻塞模式,甚至多线程都没用,
全靠ACTIVEX事件驱动 -- 它本身就多线程了,无论是数据库操作还是网络几乎都能立即返回,速度照样很快。
基本原理上是全部使用UDP协议,这样就能轻易的解决代理服务器的问题。
但UDP协议很不稳定,必须加重包和丢包、错包校验。
服务器端UDP端口固定为8000,客户端随机分配,服务器端必须保存登陆用户的IP&PORT
甚至我连传输文件都用UDP协议,自己做的快速校验和自动续传程序,速度反而比OICQ的TCP快了,而且再也不需要设置什么SOCK5了 :)
而且这样的好处是节省端口资源 -- 无论是C还是S,都只用一个UDP端口!
VB的缺点是没有结构体联合体,我用TYPE语句和一个未公开的RlfMoveMemory实现那些复杂的自定义协议,把文件传输、注册、消息等等都统一成一种数据格式发送。当然还有一些细节,比如消除UNICODE转换造成的尾部乱码。
客户端的最大难点大概就是界面了,ACTIVEBAR可以做出来,但我不用 -- 我自己做的用户控件,
因为ACTIVEBAR不稳定而且有版权问题。自己做的控件更灵活更快速,而且还是纯VB代码!
也不过就是动态按钮和明暗线的组合,以及一个时钟(滑动翻页用)。
客户端做出来十几个窗体文件 :P
唯一使用的第三方控件是POWERTCP,代替MSWINSOCK,因为微软的MSWINSOCK实在太差了,我差点想用API实现winsock……
gameboy999
2000-09-10
打赏
举报
回复
oicq的客户端其实不就是用delphi写的吗?
不过用vb其实也可以实现,只是可用的控件太少了.
shines77
2000-09-10
打赏
举报
回复
不仅仅服务器端不要用VB写,客户端也不要用VB写。
playpcgame的说法相当准确。而且服务器对于网与网之间的处理是有区别的,比如163-169, 169-163。
如此的技巧还有一些。你注意观察一下OICQ,或者用一些OICQ工具一样可以检测,(OICQ UDP三秒发送一次信息,如果处理169的问题),祝你好运。
因为如果双方都是163的时候是可以直接发的,169与163之间的信息有一半是需要服务器中转的。
U皮特U
2000-09-10
打赏
举报
回复
icq分为服务器端和客户端,支持海量客户的功能是服务器的事情。VB只能用来实现客户端程序,一般也就同时和几个人通讯。
服务器端程序绝对不会是用VB写的。playpcgame的说法是对的,webmail也是采用这种技术。
shines77
2000-09-09
打赏
举报
回复
NetMan1999: 我的ICQ是VB做的,当然现在只是界面而已,没有太多时间去做。
playpcgame
2000-09-08
打赏
举报
回复
我认为OICQ是使用了负载均衡的技术,就是用多台服务器分担用户。这样的话每台服务器所承受的用户数目就可以大大的降低。
大型的网站也是采用这种技术的。
shines77
2000-09-08
打赏
举报
回复
我做了个OICQ的界面,欢迎到 http://shines.yeah.net 参观,关于OICQ的讨论我很感兴趣,我知道一些,但不知道能不能保证几十万人,我用Winsock API的UDP协议和少量TCP/IP结合。
[计算机毕设]基于java的网络通信系统设计与
实现
(项目报告+源代码+开题报告)
例如,人们可以通过Internet搜索所要的信息,通过网上通信工具聊天,交流信息,上网购物等等。本课题是应用了计算机网络通信技术和JAVA网络编程的基础知识,以JAVA为平台,利用Eclipse开发工具,并使用SQL Server ...
csdn博客推荐系统实战-6关键词提取-TF-IDF,TEXTRANK
人类有归纳总结的能力,看了一篇英超曼城对曼联比赛的报道,会总结几个出几个关键词,英超 曼联 曼城 得比,看了关键词就能知道这篇文章大概的内容,如果机器也能做到,那该多好啊!!!能,当然能,就...
看你能坚持读几本书?!——三十本互联网必看书籍
一直想整理个书单,譬如关于EA(企业架构)、ABCD(人工智能、大数据、云计算、设备)、逻辑、思维、沟通、影响力、领导力、管理、绩效(胜任力)、战略、商业方面的书单,这里看到了一篇整理的比较好的书单,推荐给大家~ ...
计算机无法与打印机建立,电脑无法与打印机连接 计算机网考题目2(6)
A.... 局域网 C. 广域网 D....DA.IE B.NETANTS C.WORD D.
OICQ
96. 世界上最大的计算机网络被称为______。BA.
OICQ
B.INTERNET C.WWW D.CERNET97. 当使用
OICQ
进行网络聊天时,用户的计算机必须______。A...
linux系统 ghost,Linux_Linux系统中如何
实现
系统ghost,有人说Linux不如Windows,其实不 - phpStudy...
Linux系统中如何
实现
系统ghost有人说Linux不如Windows,其实不然,这是因为你不懂Linux,如果你想在Linux备份ghost,网上的人都说可以的,不过都说ghost可能有
问题
,希望本文对你Linux备份ghost有所帮助。...
VB基础类
7,759
社区成员
197,606
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章