免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 17140 | 回复: 35
打印 上一主题 下一主题

在做一个局域网内多用户聊天室 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-04-13 16:50 |只看该作者 |倒序浏览
本帖最后由 baiyang0817 于 2011-04-19 11:14 编辑

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


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

论坛徽章:
0
2 [报告]
发表于 2011-04-13 17:10 |只看该作者
学习中…………

论坛徽章:
1
天蝎座
日期:2013-12-06 18:23:58
3 [报告]
发表于 2011-04-14 22:30 |只看该作者

论坛徽章:
0
4 [报告]
发表于 2011-04-15 18:05 |只看该作者
最最初步的通信部分已经实现咯。  现在能实现两用户之间没经过代理的通信。 主要是用循环的方式做的,即主线程处理本端的信息发送,创建一个子线程循环读取对方发来的信息并做相应操作。

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

论坛徽章:
1
天蝎座
日期:2013-12-06 18:23:58
5 [报告]
发表于 2011-04-15 18:54 |只看该作者
回复 4# baiyang0817


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

论坛徽章:
0
6 [报告]
发表于 2011-04-16 11:04 |只看该作者
回复 5# crazyhadoop


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

论坛徽章:
0
7 [报告]
发表于 2011-04-19 11:06 |只看该作者
现在已经实现有代理服务器的多用户之间的通信了。昨天用了一天时间编码调试, 喔喔。。。

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


socket编程一般流程如下:


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

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

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

论坛徽章:
0
8 [报告]
发表于 2011-04-19 11:09 |只看该作者
程序大体完成之后,我会把代码上传上来滴。。。

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

论坛徽章:
0
10 [报告]
发表于 2011-07-21 09:52 |只看该作者
求代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP