在linux下做的多用户聊天室

来源:互联网 发布:新媒体数据分析 编辑:程序博客网 时间:2024/06/04 19:19

    在linux下做了一个局域网内多用户聊天室。 类似qq的功能,能支持多用户之间的单对单通话、群聊等。
    用GTK2.0+可以做界面,尝试了一下。
    主要是用循环的方式做的,即主线程处理本端的信息发送,创建一个子线程循环读取对方发来的信息并做相应操作。

    现在已经能实现通过代理服务器的多用户直接的通信了,我在下面已经把大体的流程图列出来了。
    流程图如下(参照别人的做法):
1565cc6e775152a8421694e9.jpg 

socket编程一般流程如下:
一般流程.jpg 

在前一个程序基础上进行改进,服务端程序做了较大改动。主要是进行以下操作:客户端地址映射、报文解析、消息转发。
        
      另外,把文件传输的功能也给添上去了,能传送指定文件名的文件,到对端进行写文件操作,其实也就一些简单的接口,原理和实现都挺简单。的。