ChattingRoom-master

所属分类:其他
开发工具:C/C++
文件大小:11KB
下载次数:0
上传日期:2021-04-09 16:36:42
上 传 者hehehe123456
说明:  聊天室的实现能够实现用户登录注册和简单的消息收发
(The realization of chat room can realize user login registration and simple message sending and receiving)

文件列表:
my_client.c (20167, 2020-09-07)
my_server.c (15992, 2020-09-10)

# ChattingRoom # 基于Linux平台的在线聊天室 # 简介: 此应用是一个基于Linux操作系统的终端应用,具有群聊,私聊,好友管理,聊天记录,文件传送等功能。 # 整体设计: 基于C/S架构 服务器端:采用多线程的方式来实现服务器对多个客户端的连接请求的响应。在服务器端创建socket套接字对其进行绑定后,使套接字处于监听状态,等待来自客户端的连接请求,服务器端会创建一个线程在线程中处理该连接请求,而服务器端线程继续等待来自其它客户端的连接请求。 客户端:客户端在创建套接字后调用connect()函数连接到服务器端,然后使用从connect()返回的套接字与服务端进行通信。 # 介绍 个人项目。大一下半学期加入实验室,暑假留校学习了相关基础知识后实现的一个小项目。该项目是基于Linux操作系统的终端环境的应用,目前实现了好友管理,私聊,群聊,文件传输等大部分功能,可以满足用户主要聊天需求。 # 设计思路 采用C/S通信模型,使用Linux下的Socket编程实现网络通信。 # 项目模块: 服务器端:负责监听客户端发过来的消息 客户端:登录连接到服务器端实现通信功能 # 主体流程: 基于C/S架构,采用多线程的方式实现服务器对多个客户端的连接请求的响应。在服务器端创建socket套接字对其进行绑定之后,使套接字处于监听状态。等待来自客户端的连接请求。服务器端会创建一个线程来处理该连接请求,服务器端线程会继续等待来自其他客户端的连接请求。客户端会在创建套接字之后调用connect函数连接到服务器端,然后使用从connect函数返回的套接字与读武器端进行通信。 # 具体分析 服务器端:初始化服务器程序,持续监听一个固定端口,收到客户端发过来的连接请求后建立一个socket连接,与客户端进行通信,接收客户端发来的数据。 bind():实现套接字与本地地址相连 listen():通知服务器准备好监听客户端的连接 accept():接收连接,等待客户端的连接,建立连接之后accept函数返回新的标识客户端套接字,运用多线程和recv()/send()接收/发送数据。 客户端:用来向服务器端发送数据,初始化客户程序,连接到服务器上,建立socket连接,通过socket连接向服务器端发送请求信息。 socket():建立套接字,返回套接字号 connect():将套接字与远程主机连接 recv()/send():将套接字上的读写数据进行发送和接收 close():关闭套接字,关闭对话

近期下载者

相关文件


收藏者