在做一个局域网内多用户聊天室

发布于 2022-10-15 10:13:08 字数 387 浏览 25 评论 0

本帖最后由 baiyang0817 于 2011-04-19 11:14 编辑

初学linux,想做一个局域网内多用户聊天室。 类似qq的功能,能支持多用户之间的单对单通话、群聊等; 后续如果有时间,打算把视频、音频传输功能也加上。
    看了一些资料,说是用GTK可以做界面,效果比较好。尝试一下。
    请各位大虾拍拍砖。。。。

    我会把具体的想法和流程通过回复的形式一步步体现出来。最后程序完成后把代码上传。
    现在已经能实现通过代理服务器的多用户直接的通信了,我在下面已经把大体的流程图列出来了。(2011.4.19)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

小清晰的声音 2022-10-22 10:13:08

学习中…………

勿忘初心 2022-10-22 10:13:08

最最初步的通信部分已经实现咯。  现在能实现两用户之间没经过代理的通信。 主要是用循环的方式做的,即主线程处理本端的信息发送,创建一个子线程循环读取对方发来的信息并做相应操作。

作图还没开始做。
接下来打算先实现有代理的两用户之间的通信。

江湖正好 2022-10-22 10:13:08

回复 4# baiyang0817

    可以考虑先实现多人群聊, 然后服务器 给用户推送信息。算是即时通信吧。

黎歌 2022-10-22 10:13:08

回复 5# crazyhadoop

    恩,正在尝试呢,谢谢你到关注。。。

灯下孤影 2022-10-22 10:13:08

现在已经实现有代理服务器的多用户之间的通信了。昨天用了一天时间编码调试, 喔喔。。。

流程图如下(参照别人的做法):

1565cc6e775152a8421694e9.jpg (59.33 KB, 下载次数: 45)

下载附件

2011-04-19 11:01 上传

socket编程一般流程如下:

一般流程.jpg (22.85 KB, 下载次数: 21)

下载附件

2011-04-19 11:03 上传

在前一个程序基础上进行改进,服务端程序做了较大改动。主要是要进行以下操作:客户端地址映射、报文解析、消息转发。

期间遇到一些问题:同一客户端关闭之后再上线时收数据异常; 服务端的循环数据接收没清空上次的缓存;另外一些小问题。

接下来的打算是:把大体的界面做出来,包括登录、收发窗口等。初步准备用GTK+来做。

蓦然回首 2022-10-22 10:13:08

程序大体完成之后,我会把代码上传上来滴。。。

不气馁 2022-10-22 10:13:08

最近忙于工作,拖延了一段时间。
现在已经用GTK+把大体的界面做出来了,包括登录和收发窗口等,适用于多客户端。 界面很粗糙,但基本的功能都实现了。
接下来的打算是:实现文件的压缩传输,打算用lz77算法实现。   然后尝试做图像压缩传输、音视频压缩传输,这两块貌似很有难度, 要花很多时间。

剧终人散尽 2022-10-22 10:13:08

求代码

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文