# 网络聊天项目 **Repository Path**: leslie-x/internet-chat-project ## Basic Information - **Project Name**: 网络聊天项目 - **Description**: 网络聊天项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: version1 - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-05-21 - **Last Updated**: 2021-05-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 远程终端聊天系统 搭建服务器: 要求: - 能够同时连接多客户端,一个客户端一个线程 - 注意线程管理,若有客户端断开链接,注意关闭该线程和套接字。 客户端: - 能够连接服务器 1. 注册:能够发送账号密码给道服务器进行注册功能,服务器端拿着账号密码写入链表 - 注意:需要有防重复注册逻辑 - 注意:注册/登陆时候,注意多线程的同步问题 2. 登陆功能:能够发送账号密码给到服务器执行登陆,登陆时判断有无客户端正在登陆,若有则需要把正在使用的客户端挤下线 3. 登陆成功进入用户界面,界面功能: - 1.添加好友 能够输入好友的账号/姓名 来添加好友 注意:添加好友分为主动添加和被动添加 困难版:申请添加好友,好友同意后才能添加,好友不在线则暂时将请求放在服务器,当他上线后再将请求发给他。 简单版:无论好友是否在线,只要添加就会通过。 被添加好友的目标,同意之后,好友列表里也要出现对方的姓名。 - 2.与好友聊天 困难版:若该好友不在线则发送的消息暂存在服务器,上线后再发送给好友。 简单版:多写一个查看在线好友功能,只与在线好友聊天功能 - 3.查看好友列表 4. 客户端要求每隔n秒向服务器发送一个心跳包,服务器每15/10/5s检测所有服务器在上一段时间内是否发送过心跳包。如果没发来过心跳包则默认客户端异常,服务器主动断开与客户端连接。 可选功能: 5. 客户端可以通过SIGALRM信号实现定时连接服务器功能。