DELPHI盒子
!实时搜索: 盒子论坛 | 注册用户 | 修改信息 | 退出
检举帖 | 全文检索 | 关闭广告 | 捐赠
技术论坛
 用户名
 密  码
自动登陆(30天有效)
忘了密码
≡技术区≡
DELPHI技术
移动应用开发
Web应用开发
数据库专区
报表专区
网络通讯
开源项目
论坛精华贴
≡发布区≡
发布代码
发布控件
文档资料
经典工具
≡事务区≡
网站意见
盒子之家
招聘应聘
信息交换
论坛信息
最新加入: smallcoder
今日帖子: 30
在线用户: 13
导航: 论坛 -> 开源项目 斑竹:joki,ralf_jones  
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2020/1/12 19:00:26
标题:
打算开源一个聊天软件 浏览:978
加入我的收藏
楼主: 05年用 DELPHI 做的一个聊天软件。后来再也没维护,没时间搞它。
最近有一些新的想法,想功能上做一点更新,也想移植到手机上。之前的 DELPHI 代码,用了很多第三方控件,在新版的 DELPHI 上面,多半连编译也是通不过的,更不用说需要移植到 FireMonkey 上。而且有些功能,使用了 Windows 系统的功能,比如视频聊天用到 DirectShow。

另外,很多年没搞它,我自己都忘记了一些细节。所以我打算什么功能都不改,而且要简化掉一些功能,先用新版的 Delphi FireMonkey 重写一遍,新写的能够运行了,再来改,可能连通讯协议都要改。

因此,我把它安装起来,先自己用用,然后呢,让新写的可以和之前的老版本兼容,这样的代码重构,才可以一点一点地改出来,避免一下搞很多修改还不知道能不能正常工作。

因此,我重新发布了服务器端。然后,客户端发在这里,有兴趣的可以下载客户端,然后安装后试用。10多年前的代码,界面比较土,大家容忍一下。

待我用新版的 FireMonkey 重构完代码后,就开源出来。

所以呢,这里就是提供给大家试用,有兴趣的,请回帖给我重构然后开源的动力。

本贴附件,是客户端。安装以后,在选项菜单里面,把服务器设置为:154.222.1.190  就可以注册,登录,添加好友等等。

--- 功能介绍 ---
1. 通讯架构:基于 UDP 的 P2P 通讯。有 NAT 打洞的功能;
1.1. 在 UDP 基础上模拟 TCP 算法保证 UDP 的丢包重传,模拟了 TCP 的连接。
1.3. 在上述基础上,搞了一个基于 UDP 的 WebService 的函数调用框架,修改自 Delphi 本身的 WebService 框架。

2. 富文本的打字聊天。自己写的基于 IE 的富文本编辑器。可以图文混排,随意修改文字的字体大小颜色等等,可以随意插入图片。
2.1. 文字的传输是加密的。本身P2P的通讯也是端到端的,不从服务器过。加密用的 Key 是每次聊天建立时双方协商的,因此 KEY 是什么,没法预测。
2.2. 加密采用的是 LockBox 那套控件。

3. 音频聊天;

4. 多方视频会议。

5. 电子白板。一个聊天会议窗口里面的多个白板。参与者都可以在上面贴图画图。

6. 文件传输,自动断点续传。
6.1. 文件夹共享给对方,让对方自己选择下载什么文件,类似把自己当作 FTP SERVER,对方当作 FTP CLIENT 的玩法。当然这里仍然是基于 UDP 的。

7. 还有一些乱七八糟花了不少时间的功能,似乎也没太多使用价值。

---- 新版的第一阶段修改的想法 ---------
1. 首先,去掉这个富文本编辑。只是单纯的文字。因为之前那个是基于IE的,在手机端是不可能正常工作的。

2. 语音对讲也暂时去掉。因为之前的语音是基于 WINDOWS 的 API 的。

3. 视频也要去掉,因为之前的视频是基于 DirectShow 的。

在暂时把基本通讯框架搭起来后,能够文字聊天的情况下,再逐渐增加一些功能,如果开源,希望大家一起帮忙。每天要上班挣饭钱,没太多时间研究新技术了。这次考虑开源,也是因为 Delphi 有社区版,大家可以玩玩正版。为了将来的兼容性,因此新版不用闭源的第三方控件。

最后,试用的同学,有兴趣的可以在这个软件里面添加好友 pcplayer,通过这个软件可以和我交流。
此帖子包含附件:pcplayer_20201121903.zip 大小:7.86M
----------------------------------------------
-
作者:
男 akay (akay) ★☆☆☆☆ -
普通会员
2020/1/12 19:56:33
1楼: 支持,支持!
----------------------------------------------
-
作者:
男 arhaha (lin) ★☆☆☆☆ -
盒子活跃会员
2020/1/12 22:14:18
2楼: 支持!!
----------------------------------------------
-
作者:
男 nevergrief (孤独骑士) ★☆☆☆☆ -
盒子活跃会员
2020/1/12 23:44:44
3楼: 建议开一个群收集意见,这样互动性也更强一些。
而且做FMX是否有必要?毕竟是一件没有收益的事情。
把手里的VCL完善就行,就当是给小白们的礼物,应该还是可以学到很多东西的。
或者也可以这样,FMX继续开发,但FMX版收钱!
----------------------------------------------
只有偏执狂才能生存!
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2020/1/12 23:53:04
4楼: 楼上的,VCL 的,要做的工作主要是把 D7 的代码,升级到最新版 DELPHI。
另外就是一些第三方控件要去掉,否则依赖第三方闭源的控件就不好玩了。

但 VCL 的,不支持手机。现在这个时代,支持手机也很重要。所以想搞 FMX 的。

可以考虑 PC 版功能更多,手机版简化一些。总体来说,要一套代码兼容。因此还是需要用 FMX。

至于说收益,开源了,就不考虑收益了。当作是为 Delphi 世界做点贡献。
----------------------------------------------
-
作者:
男 nevergrief (孤独骑士) ★☆☆☆☆ -
盒子活跃会员
2020/1/13 0:39:32
5楼: 那就期待你的大作了,我提前预定捐款200元,一点小意思哈~
----------------------------------------------
只有偏执狂才能生存!
作者:
男 hbug (hbug) ★☆☆☆☆ -
普通会员
2020/1/13 8:01:52
6楼: 期待中。。。。
----------------------------------------------
专业提供人力资源软件、指纹考勤软件、POS进销存软件、酒店餐饮软件
http://www.winsoftcn.com
作者:
男 blueflag (昆了) ★☆☆☆☆ -
盒子活跃会员
2020/1/13 8:50:02
7楼: 强烈支持---
----------------------------------------------
-
作者:
男 looper (keyo) ★☆☆☆☆ -
盒子活跃会员
2020/1/13 9:07:36
8楼: 支持支持!
----------------------------------------------
虽千万人吾往矣!
作者:
男 kenliaoliao (ben) ★☆☆☆☆ -
普通会员
2020/1/13 9:25:30
9楼: 强烈支持
----------------------------------------------
-
作者:
男 mricy (Icy) ▲▲▲△△ -
注册会员
2020/1/13 10:05:27
10楼: 能不能让大家凑点热闹 参与一下哈
----------------------------------------------
乜你咁蠢嘎!睇下佢点,嘿嘿..猫窝: www.icy6.com
作者:
男 joesyuan (joes) ★☆☆☆☆ -
盒子活跃会员
2020/1/13 10:15:56
11楼: 开个群吧。
----------------------------------------------
-我爱Delphi6
作者:
男 dolang (dolang) ★☆☆☆☆ -
普通会员
2020/1/13 10:28:29
12楼: 强烈支持,期待。。。。。。
----------------------------------------------
-
作者:
男 hardnut (麦轲数据管家) ★☆☆☆☆ -
普通会员
2020/1/13 10:52:18
13楼: 支持,我愿参与
----------------------------------------------
麦轲数据管家--您最贴心的个人数据/知识管理工具
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2020/1/13 11:08:52
14楼: 11 楼,开群就算了。我平常不开QQ,要开 QQ 还要开虚拟机。如果有兴趣,下载我那个客户端装上,改一下服务器设置,添加好友 pcplayer 就可以联系了。
----------------------------------------------
-
作者:
男 lzhg_kn (lzhg_kn) ★☆☆☆☆ -
盒子活跃会员
2020/1/13 13:50:33
15楼: 强烈支持,期待
----------------------------------------------
-
作者:
男 learndelphi (beside) ★☆☆☆☆ -
盒子活跃会员
2020/1/13 14:31:03
16楼: 强烈支持,期待
----------------------------------------------
-
作者:
男 hans (hans) ★☆☆☆☆ -
注册会员
2020/1/13 17:43:42
17楼:

嗯,这个支持
----------------------------------------------
Hans
作者:
男 letianwuji (乐天无极) ▲▲▲△△ -
注册会员
2020/1/13 18:29:36
18楼: 服务器连接不了
----------------------------------------------
相信自己,若自己都不相信,那还有谁可信。
作者:
男 majx (skin) ★☆☆☆☆ -
普通会员
2020/1/13 19:31:48
19楼: 感谢!!!希望有更多的DELPHI软件能开源,大力促进DELPHI生态的发展!!!在盒子上专门建立一个开源版块,供大家互相学习。
----------------------------------------------
majx,QQ 613354940
作者:
男 majx (skin) ★☆☆☆☆ -
普通会员
2020/1/13 19:41:14
20楼: 360真是个畜生,DELPHI开发的一下载就报病毒。
----------------------------------------------
majx,QQ 613354940
作者:
男 qq81709989 (QQ81709989) ▲△△△△ -
注册会员
2020/1/13 19:55:19
21楼: 以前有一款Delphi写的聊天软件客户端,源码网上应该能找到,跟QQ差不多,服务端是C#写的。
----------------------------------------------
Delphi程序员承接物联网、智能家居、工业控制等软硬件开发(包括C/C++/C#转Delphi及Java开发等)。50000元出售:《Delphi物联网APP/PC开发框架及配套硬件设备》:支持智能二维码门禁、智能照明、人脸识别、智能空调、智能窗帘、蓝牙通信、萤石云摄像机等。限时秒杀399元出售《Delphi智能会议室APP》控制投影机、卡拉OK点歌机、功放音响、无线话筒、HDMI高清视频播放等
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2020/1/13 20:19:02
22楼: @letianwuji  服务器能够连接。我刚刚登录过。

向服务器注册和登录,是 Delphi 的 WebService,已知的问题,在 WIN XP 不存在,在 WIN8 存在的问题是,这个 WebService 的调用,可能是:

D7 做的 WebServices  客户端,用 HttpRIO 去访问 WebServices 服务器端的时候,会出 AV 错误。 

点"我的电脑"右键"属性""高级""性能""设置"。把"数据执行保护"关掉。然后就可以了。
----------------------------------------------
-
作者:
男 myid (林锋) ★☆☆☆☆ -
盒子活跃会员
2020/1/13 20:29:46
23楼: 支持,期待
----------------------------------------------
-
作者:
男 chinaz (有缘人) ▲▲▲▲▲ -
神秘会员
2020/1/13 21:37:30
24楼: 支持
----------------------------------------------
一路风雨走过,因为有你们
作者:
男 gxabc (cgh) ▲▲▲▲▲ -
普通会员
2020/1/13 22:04:56
25楼: 支持!
----------------------------------------------
-
作者:
男 iapeng (iapeng) ▲▲△△△ -
注册会员
2020/1/14 11:54:47
26楼: 强烈支持,世上还是有好人!
----------------------------------------------
-
作者:
男 abcjingtong (jingtong) ▲▲▲▲▲ -
注册会员
2020/1/14 12:38:28
27楼: 支持楼主,如果有需要,我可以把自己写的富文本编辑控件移植到fmx下,免费开源。
----------------------------------------------
18114532@qq.com
作者:
男 edwinyeah (Edwin) ★☆☆☆☆ -
盒子活跃会员
2020/1/14 14:21:42
28楼: 支持,建议放到github
----------------------------------------------
-
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2020/1/14 17:03:17
29楼: @abcjingtong  多谢。我写的富文本编辑器是基于 WebBrowser 的,我是打算这个项目开源的同时也把它放出来。如果单纯的 Windows 软件,在 FireMonkey 里面嵌入一个 VCL 的 Form 还是可以做到的。问题是如果是手机,估计就没戏了。

不过这几天我考虑了一下,暂时第一步,还是先做 VCL 的,也就是把以前的基于 D7 的代码整理一下,去掉没开源的第三方控件,简化掉工程里面一些可有可无的功能,然后能够在最新版 DELPHI 底下编译通过,就先放出来。然后在此基础上,再考虑第二步的优化算法,优化代码,然后再考虑第三步的移植到 FireMonkey。

最近时间不多,进度肯定快不起来。看看春节假期的时间里面能不能干点活。
----------------------------------------------
-
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2020/1/14 17:05:40
30楼: @edwinyeah  我会放到 github 上面的。

只是以前的代码很烂,真的不好意思放出来给大家看。原本想花点时间搞得稍微好点再放,但实在是时间和精力有限。所以现在打算先整一个能跑的,先放出来。然后再优化。
----------------------------------------------
-
作者:
男 abcjingtong (jingtong) ▲▲▲▲▲ -
注册会员
2020/1/15 10:47:24
31楼: @pcplayer 对先用vcl的,先把整个业务跑起来,细节预留出完善的接口或方法就行,比如我写东西,有时候好多未来会用到的事件,先定义然后空实现,在begin和end中间写上注释或todo。整个跑起来有人使用也会对自己是个激励,会让你也有不断完善细节的动力。广度和深度在前期是不要想着全部能达到的,一条坑坑洼洼能到终点的完整线路,要好于半条笔直平坦的道路,虽然两者都有达到笔直完整的机会,但对于现代IT行业来说,谁都想要个马上能用,慢慢完善的东西。因为前者你提供了能实现整个目标的方案,后者没人会关注的。希望你能坚持。
  另外补充一点,如果打算长期投入,要做好能收服务费用的地方,编码过程要注意一些模块或功能可以单独被别人使用,比如通讯方面的,可以方便的抽取来脱离了你的项目给别人用,做订制化的需求。
----------------------------------------------
18114532@qq.com
作者:
男 hawke2e (hawke2e) ▲▲▲▲▲ -
注册会员
2020/1/15 17:53:07
32楼: 我看好去中心化应用,无论是架构去中心化还是政治去中心化,去中心化的应用会成为未来的主流,但要到未来啥时候呢,不好估计。

人类社会的交换最早就是去中心化,你家有米缺肉,我家养鸡缺米,那彼此就交换了。随着交通越来越发达,中心化程度越来越高。

互联网恰恰是相反的,最早是中心化,为什么?因为带宽不足,没那么多带宽支持点对点的数据交换。随着带宽越来越大,去中心化的应用会越来越多。

不仅仅聊天工具,连DNS这等底层协议迟早要变为去中心化或者被弃用。
----------------------------------------------
软件是什么,相信很多人都说不清。
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2020/1/15 17:57:34
33楼: @hawke2e 是的。我最早开始这个项目,想的就是逐渐做一个完全去中心化的东西出来。这也是一种思考方式。

当然,中心化的东西,需要考虑的问题会少很多,代码因此简单。但人类社会的组织方式本身是去中心化的。
----------------------------------------------
-
作者:
男 hawke2e (hawke2e) ▲▲▲▲▲ -
注册会员
2020/1/15 18:00:34
33楼: 在中国搞去中心化对于个人最大障碍我认为在于环境,中国天然排斥去中心化;起码在20、30年内都不会改变,届时我们都老了。
所以,如果你20来岁,又不在中国,那搞去中心化肯定是赚的。
----------------------------------------------
软件是什么,相信很多人都说不清。
作者:
男 hawke2e (hawke2e) ▲▲▲▲▲ -
注册会员
2020/1/15 18:31:15
34楼: pcplayer和其他志于搞去中心化应用的朋友,给个指引:
像去中心化这种社会变革,从用户角度来看,最初的产品形态都是信息的获取或者信息查询。比如:互联网最初的产品形态就是网站,手机端的就是看新闻。然后才是交互形式复杂的应用。

同理,
相同的使用场景,发生去中心化应用取代中心化应用,那么这场景最初也会发生在信息获取上,而不是聊天工具。
----------------------------------------------
软件是什么,相信很多人都说不清。
作者:
男 wang_80919 (Flying Wang) ▲▲▲▲▲ -
普通会员
2020/1/15 19:05:27
35楼: 虽然我不知道你们为什么 讨论 去中心化。
但是 聊天工具,本来就可以 去中心化。
例如 最简单的 WIFI Ad Hoc 模式。就是 无中心的。
大家 碰面 一起聊天(大家在一起,居然不说话,用机器打字或画图聊天,你们知道谁开发的软件这样干了吗?)

另外就是 p2p 聊天。KAD 网络就可以这样。
----------------------------------------------
(C)(P)Flying Wang
作者:
男 letianwuji (乐天无极) ▲▲▲△△ -
注册会员
2020/1/15 19:30:24
36楼: 楼上的,一看就是没玩过qtox...那才是真正去中心化。
----------------------------------------------
相信自己,若自己都不相信,那还有谁可信。
作者:
男 wang_80919 (Flying Wang) ▲▲▲▲▲ -
普通会员
2020/1/16 9:19:43
37楼: kad 基础上家个密就高级了?还真正?我说的也是真正的。
我没玩过的多了去了。
你没玩过的也多了去了。
----------------------------------------------
(C)(P)Flying Wang
作者:
男 looper (keyo) ★☆☆☆☆ -
盒子活跃会员
2020/1/16 10:05:41
38楼: 懵逼了,怎么突然就说到去中心化,这楼歪的厉害啊!
----------------------------------------------
虽千万人吾往矣!
作者:
男 pcplayer (pcplayer) ★☆☆☆☆ -
普通会员
2020/1/16 12:07:10
39楼: 就聊天来说,国内用户最多的是QQ和微信吧?这两个玩意,至少有一条:需要登录到一个中心服务器。

另外,QQ我不知道,微信的话,应该是聊天信息通过服务器转发给对方的。

要做到最简单的2点:
1. 没有一个中心服务器用来做用户登录,做用户身份认证;
2. 聊天信息不需要通过中心服务器转发;

要做到这两点,就会有很多麻烦事,而且可能还不稳定可靠,要做到稳定可靠,麻烦事更多。所以,如果是做一个聊天的产品,有服务器,简单很多。这个也就是最近这些年,云计算很流行的原因。

如果彻底没有中心服务器来支撑,俺名之为:雾计算。

这个想法俺很多年前就有了,能力有限,做不出来。那时候也没有类似的软件出现。

现在有了,比如 ZeroNet,比如....反正已经出来好多了。
另外,比特币也是一个彻底去中心化的应用。

只是,这些应用,我没看到过是 Delphi 代码写的。
----------------------------------------------
-
作者:
男 jacky163 (jacky) ▲▲△△△ -
注册会员
2020/1/17 22:19:33
40楼: 支持,支持!
----------------------------------------------
-
作者:
男 isxuzhu (e.Wong) ★☆☆☆☆ -
盒子活跃会员
2020/1/18 17:23:24
41楼: 支持!!支持!!
----------------------------------------------
你我,都可以是个造梦者!欢迎加入脚本引擎PaxCompiler交流群303904495http://www.cnblogs.com/fireboxsoft欢迎加入FMX-Linux学习交流群548305569.
信息
登陆以后才能回复
Copyright © 2CCC.Com 盒子论坛 v2.1 版权所有 页面执行39.0625毫秒 RSS