主题:[讨论]如何建一個象QQ那種即時通工具
GEORGECHIN
[专家分:440] 发布于 2009-12-18 11:06:00
本人擬建一個公司內網的即時通工具.功能很簡單,只要能夠傳遞文本文字及保存即時溝通記錄即可.現有以下的疑問請教狐友:
1.如何在沒有打開即時通窗口的情況下,象QQ來信一樣,其小窗口有提示功能?如閃爍功能.
2.滾屏用什麼控件比較好,如何設置到一定記錄之后先前的記錄從滾屏上自動消失.(有沒有比用LISTBOX作控件,用更新數組的方式更好的方法)
回复列表 (共38个回复)
31 楼
GEORGECHIN [专家分:440] 发布于 2010-01-21 01:22:00
還是你行,能想到我用TIMER解決!
只要達到這個目的,就可以了.不過,我還得請教一下,TIMER對整個程序的影響有多大?如果間隔是以mS計算的話.最嚴重的后果是什麼?
32 楼
kosung [专家分:910] 发布于 2010-01-21 01:54:00
TIMER不是个好的解决办法,这个东西是在VFP系统内分CPU时间,太占用系统资源了。曾经试过在TIMER中处理时间过长,形成了很长的堆栈调用,结果过头了,回不来(假死)。
还曾经试过用TIMER做过VFP系统中自己的屏保,要处理的方面太多,漏洞始料不及。如果用这个东西来做QQ这样的东西,就是这样的结果,占用太多的系统资源(原因是单线程的VFP),同时要处理的方面太多,做起来真的不划算。
33 楼
GEORGECHIN [专家分:440] 发布于 2010-01-21 09:53:00
先用這種方法試試,因為畢竟每一次要收的資料很少,如果對整個ERP產生嚴重的不良后果,再拿掉.單就系統使用量及個人的輸入習慣和速度上去衡量的話,我想每30秒去接收一次數據是應該可以忍受的.大不了就是最多一分鐘收不到信息或每30秒收到多條信息.
至於單線程或多線程,本人水平夠菜,還未到這個高度.
34 楼
foxdb [专家分:1830] 发布于 2010-01-21 11:04:00
楼主也不用那么麻烦了,在我的局域网VFP客户端也有象QQ那样的各用户实时短信交流功能。具体做法是在VFP客户端操作界面开一IE小窗用ASP做个聊天界面,聊天内容数据都存入VFP数据库,可后台查询。你只要在网内任意一台机开IIS即可,如嫌麻烦就把ASP打包入NETBOX也就只有一个执行文件了,可以不用开IIS简单安全。而ASP的简单聊天程序也就几十行代码,真的是简单到极点了。有关技术问题在本坛我的回贴都可找到。。。。那些啥"多任务"啊,"多线程"啊都是多余的了......简单实用高效才是真理!
35 楼
wuzhouhong [专家分:10890] 发布于 2010-01-21 17:58:00
WinSock不需要多线程程序支持,这个东西本身就是带有中断控制,他首先监听一个本地端口,注意这个动作会触发你电脑上的防火墙,会提示你是否放行,必须要选择放行。处于监听状态的Winsock不产生任何的操作,也不影响程序运行。只有当监听的端口收到远方的通信连接应答时才会产生一个中断,用来触发Winsock的事件,这个事件可以通过编写代码,将收到的数据写在屏幕上,或者存入数据库,随便你了
36 楼
GEORGECHIN [专家分:440] 发布于 2010-01-21 20:50:00
能得到大家的熱心幫助,我非常感激.具體的人,我就不再一一贅述了.
因為現在手上還有更重要的東西在做,所以這個功能尚未著手.我知道在實際的操作中會有很多的問題出現,希望到時各位還能一如既往地幫助我完成這個功能.
再次感謝列位熱心的幫助.謝謝!
37 楼
kosung [专家分:910] 发布于 2010-01-22 01:04:00
呀呀,别谢谢就完了,按要求要给分的,不然的话下次就不回答了,嘿嘿。
38 楼
GEORGECHIN [专家分:440] 发布于 2010-09-27 20:30:00
經過不懈努力,這個功能已實現,只是相對於QQ這種成熟的軟件,不管是從界面還是從速度上,那絕對不是一個層次上的.不過能夠實現即時通,已經很滿意了!
在此感謝各位老師,朋友的指導!
PS:現我自行開發的用於電子行業的ERP已經調試完成,若有需要者請聯系:
QQ:108088690 手機:13688904509
我来回复