C语言实现Linux聊天工具

项目源码https://github.com/One-Snail/mychatroom

引言

在互联网越来越发达的今天,人们对网络的依赖越来越多,越来越离不开网 络,QQ、微软MSN、移动的Fetion等,都是做的比较成功的, 随着网络的日益普及,各种聊天工具也层出不穷,当我们学习《网络与程序设计》这门课程之 后,接下来的课程设计就是针对一个简单的网络聊天程序,利用C语言为开发工具,实现基本的通讯功能。

 

【一】项目题目及功能

项目题目:socket聊天工具

功能:

  • 实现注册功能。
  • 登录功能。
  • 客户可以通过服务器转发,实现一对一聊天。
    • 4.客户端程序应该可以实时显示目前其它用户的在线状态。
    • 5.具有文件传输功能
    • 6.具有易用、美观的界面。


 

【二】项目整体设计框架图及说明

  • 客户端:

 

 

 

 1. 界面部分 

主界面分别为登录(login),注册(register),离开(quit)三个选项,当用户登陆成功以后,二级界面为显示在线用户列表(show users_online),聊天(chat),返回(goback),注销(write off).

2. 功能部分

主函数使用TCP流式套接字与服务器进行通信,通信地址为本机地址,主进程负责连接服务器,另有聊天函数,在此函数中新建一个子进程用于接受来自服务器端的通信,而父进程负责发送客户端的数据到服务器,这样可以避免进程因为write函数和read函数一直阻塞,并且各个客户端发送过程中不会互相干扰.除此之外,还有注册函数和登录函数,用户注册和登录的信息会被发送到服务器,然后由服务器发送给MySQL。

 

  • 服务器:

 

1. 主函数模块

该模块负责服务器创建套接字、绑定、监听等初始化设置,以及如果有连接到达了就创建新的线程,然后在线程中处理客户端的请求。

2. 功能函数

服务器的功能是与客户端的功能大多一一对应的,例如登录、注册、聊天等,服务器根据客户机的请求提供不同的服务。此外,服务器与MySQL的交互函数也在这个模块里。


 

【三】项目分模块设计说明,流程图

  • 服务器:

  1. 处理注册信息
  2. 处理登录信息
  3. 转发聊天消息
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值