纯PB实现的IM即时通讯代码 单服务器支持3000人以上在线

cqqjjf 2010-05-06 11:54:25


http://www.ourfreesoft.cn/soft/pbim.rar

源代码需要使用PB 11.0以上版本打开
提供了完整的PB运行库文件,并编译出了EXE文件,没有PB 11也可以测试
系统的离线消息需要10分钟后 才会发送给对方

如果安装后,服务器和客户端通讯不成功,请检查:
1、是否被防火墙阻止
2、参数设置是否完全正确
3、网络连接是否顺畅

1、系统实现方式
本工具使用纯PB代码实现,基于UDP协议进行通讯,PB版本为11.2,数据库为SQL 2000/2005/2008 另外有PB 9 8 7版。本测试程序美工比较简单,仅供研究使用。

系统结构

中心数据库--中间数据库
| |
| |
服务器端 |
| |直接访问
UDP| |
| |
客户端--------|

文件传输结构:通过服务器端获取通讯端口后,直接通讯
服务器端
| |
| |
| UDP |
客户端-----客户端


能进行路由器穿透,实现如同QQ一般的在线沟通。由于设计为嵌入ERP系统使用,方便企业管理人员管理,所有消息均通过服务器中转并记录到数据库。您可以将其改制为客户端和客户端直接通讯,以获得单服务器更大的用户承载量。

经过测试,单服务器1000人在线带宽暂用在2M以下,Intel E2200CPU占用率50%以下,内存300M内,服务器CPU建议为多核CPU以获得更高的处理效率。

为了减轻服务通讯端口的通讯量压力,服务器端负责
(1)在线消息中转,如对方未成功接收,则进入数据库离线消息表
(2)登录请求
(3)检查连接状态
(4)密码修改请求
(5)好友在线状态

以下操作,由于只在登录的时候发生一次,并且数据量较大,客户端通过访问中间数据库访问完成,当然,你也可以改制为不需中间数据库中转,直接由服务器返回消息。
(1)获取好友列表
(2)获取离线消息
...全文
1274 38 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
38 条回复
切换为时间正序
请发表友善的回复…
发表回复
凡爸 2011-11-18
  • 打赏
  • 举报
回复
局域网的,无法以因特网上使用
lightsword1 2010-12-30
  • 打赏
  • 举报
回复
不知道怎么样,下来看看
bombshell 2010-12-30
  • 打赏
  • 举报
回复
顶起来,呵呵。试用版到现在服务器端也没有运行起来,还需要楼主指教
StillMiss 2010-12-30
  • 打赏
  • 举报
回复
你真以为这东西有多少价值啊
StillMiss 2010-12-30
  • 打赏
  • 举报
回复
[Quote=引用 30 楼 liuxiang 的回复:]
直接就说卖源码得了,费这么大的劲。
[/Quote]

就是
haowan1982 2010-12-27
  • 打赏
  • 举报
回复
强力加顶!!
天道2046 2010-12-24
  • 打赏
  • 举报
回复
接分,顶起,圣诞元旦快乐!
ych12333 2010-12-20
  • 打赏
  • 举报
回复
我想要实现的
原理
liuxiang 2010-10-02
  • 打赏
  • 举报
回复
直接就说卖源码得了,费这么大的劲。
bombshell 2010-09-18
  • 打赏
  • 举报
回复
已经被破解了,呵呵!!!
hangzhou6274 2010-05-12
  • 打赏
  • 举报
回复
牛人,帮顶
misrunners 2010-05-11
  • 打赏
  • 举报
回复
学习了...
iqlife 2010-05-10
  • 打赏
  • 举报
回复
不怎么样啊
st_weicr 2010-05-10
  • 打赏
  • 举报
回复
原来是这样哦
pbwubaba 2010-05-09
  • 打赏
  • 举报
回复
东西确实有点问题呀
我也不能编译通过

请LZ再查看下
zlnlh 2010-05-09
  • 打赏
  • 举报
回复
嗯,我的也是,错误一样
hk1660 2010-05-09
  • 打赏
  • 举报
回复
作者在readme中的说明
hk1660 2010-05-09
  • 打赏
  • 举报
回复
4、源代码获取或OEM

请联系QQ 66388855
TEL 15823138881
Mail:stsofts@163.com

完整源代码和OEM是有偿的,希望大家能相互理解劳动是需要花费精力的。
lao_bulls 2010-05-09
  • 打赏
  • 举报
回复
还有代码没有上传。
sunfor 2010-05-08
  • 打赏
  • 举报
回复
我用的是11.5,转换时有如下错误!
---------- Migrating of target im_client
Inspecting application dependencies...
Creating type D:\pbqq\Client\im_client.pbl(d_hy_list)...
Creating type D:\pbqq\Client\im_client.pbl(d_chat_show)...
Creating type D:\pbqq\Client\im_client.pbl(d_ry_list)...
Creating type D:\pbqq\Client\im_client.pbl(d_chat_history)...
Creating type D:\pbqq\Client\im_client.pbl(im_client)...
Creating type D:\pbqq\Client\im_client.pbl(w_login)...
Creating type D:\pbqq\Client\im_client.pbl(w_chat)...
Creating type D:\pbqq\Client\im_client.pbl(vuo_navigation_item)...
Creating type D:\pbqq\Client\im_client.pbl(vuo_navigation)...
Creating type D:\pbqq\Client\im_client.pbl(w_cs)...
Creating type D:\pbqq\Client\im_client.pbl(str_chatwin)...
Creating type D:\pbqq\Client\im_client.pbl(gf_connect_local)...
Creating type D:\pbqq\Client\im_client.pbl(gf_getip2)...
Creating type D:\pbqq\Client\im_client.pbl(gf_readsys)...
Creating type D:\pbqq\Client\im_client.pbl(m_pop)...
Creating type D:\pbqq\Client\im_client.pbl(gf_connect_msg)...
Creating type D:\pbqq\Client\im_client.pbl(m_chat_sendfs)...
Rebuilding type ( pass 1 ) D:\pbqq\Client\im_client.pbl(d_hy_list)...
Rebuilding type ( pass 1 ) D:\pbqq\Client\im_client.pbl(d_chat_show)...
Rebuilding type ( pass 1 ) D:\pbqq\Client\im_client.pbl(d_ry_list)...
Rebuilding type ( pass 1 ) D:\pbqq\Client\im_client.pbl(d_chat_history)...
Rebuilding type ( pass 1 ) D:\pbqq\Client\im_client.pbl(im_client)...
Rebuilding type ( pass 1 ) D:\pbqq\Client\im_client.pbl(w_login)...
Rebuilding type ( pass 1 ) D:\pbqq\Client\im_client.pbl(w_chat)...
Rebuilding type ( pass 1 ) D:\pbqq\Client\im_client.pbl(vuo_navigation_item)...
Rebuilding type ( pass 1 ) D:\pbqq\Client\im_client.pbl(vuo_navigation)...
Rebuilding type ( pass 1 ) D:\pbqq\Client\im_client.pbl(w_cs)...
Rebuilding type ( pass 1 ) D:\pbqq\Client\im_client.pbl(str_chatwin)...
Rebuilding type ( pass 1 ) D:\pbqq\Client\im_client.pbl(gf_connect_local)...
Rebuilding type ( pass 1 ) D:\pbqq\Client\im_client.pbl(gf_getip2)...
Rebuilding type ( pass 1 ) D:\pbqq\Client\im_client.pbl(gf_readsys)...
Rebuilding type ( pass 1 ) D:\pbqq\Client\im_client.pbl(m_pop)...
Rebuilding type ( pass 1 ) D:\pbqq\Client\im_client.pbl(gf_connect_msg)...
Rebuilding type ( pass 1 ) D:\pbqq\Client\im_client.pbl(m_chat_sendfs)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(d_hy_list)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(d_chat_show)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(d_ry_list)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(d_chat_history)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(im_client)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(w_login)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(w_chat)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(vuo_navigation_item)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(vuo_navigation)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(w_cs)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(str_chatwin)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(gf_connect_local)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(gf_getip2)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(gf_readsys)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(m_pop)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(gf_connect_msg)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(m_chat_sendfs)...
Inspecting application dependencies...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(d_hy_list)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(d_chat_show)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(d_ry_list)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(d_chat_history)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(im_client)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(w_login)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(w_chat)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(vuo_navigation_item)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(vuo_navigation)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(w_cs)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(str_chatwin)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(gf_connect_local)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(gf_getip2)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(gf_readsys)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(m_pop)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(gf_connect_msg)...
Rebuilding type ( pass 2 ) D:\pbqq\Client\im_client.pbl(m_chat_sendfs)...
Regenerating D:\pbqq\Client\im_client.pbl(d_hy_list)...
Regenerating D:\pbqq\Client\im_client.pbl(d_chat_show)...
Regenerating D:\pbqq\Client\im_client.pbl(d_ry_list)...
Regenerating D:\pbqq\Client\im_client.pbl(d_chat_history)...
Regenerating D:\pbqq\Client\im_client.pbl(im_client)...
Regenerating D:\pbqq\Client\im_client.pbl(w_login)...
Regenerating D:\pbqq\Client\im_client.pbl(w_chat)...
Regenerating D:\pbqq\Client\im_client.pbl(vuo_navigation_item)...
Regenerating D:\pbqq\Client\im_client.pbl(vuo_navigation)...
Regenerating D:\pbqq\Client\im_client.pbl(w_cs)...
Regenerating D:\pbqq\Client\im_client.pbl(str_chatwin)...
Regenerating D:\pbqq\Client\im_client.pbl(gf_connect_local)...
Regenerating D:\pbqq\Client\im_client.pbl(gf_getip2)...
Regenerating D:\pbqq\Client\im_client.pbl(gf_readsys)...
Regenerating D:\pbqq\Client\im_client.pbl(m_pop)...
Regenerating D:\pbqq\Client\im_client.pbl(gf_connect_msg)...
Regenerating D:\pbqq\Client\im_client.pbl(m_chat_sendfs)...
16 Errors.
加载更多回复(18)

401

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 非技术版
社区管理员
  • 非技术版社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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