資源簡介
項目簡介:
采用I/O復用技術select實現socket通信,采用多線程負責每個客戶操作處理,完成Linux下的多客戶聊天室!
OS:Ubuntu 15.04
IDE:vim gcc make
DB:Sqlite 3
Time:2015-12-09 ~ 2012-12-21
項目功能架構:
1. 采用client/server結構;
2. 給出客戶操作主界面(注冊、登錄、幫助和退出)、登錄后主界面(查看在線列表、私聊、群聊、查看聊天記錄、退出);
3. 多客戶可同時連接服務器進行自己操作;
##服務器端##
1. server.c:服務器端主程序代碼文件;
2. co
代碼片段和文件信息
/*******************************************************************************
*?客戶端用戶聊天界面處理實現文件
*?2015-12-14?yrr實現
*
********************************************************************************/
#include?“config.h“
/***********************************************
函數名:enterChat
功能:用戶登陸成功后進入聊天模式
參數:user--當前用戶?,?sockfd?--?套接字描述符
返回值:正常退出返回?0?,?否則返回?1
*************************************************/
void?recvMsg(int?*sockfd)
{
int?connfd?=?*sockfd;
int?nRead;
char?buf[MAX_LINE]??str[MAX_LINE];
Message?message;
time_t?timep;
printf(“^_^?接收聊天信息中~\n“);
while(1)
{
/*接收服務器發來的消息*/
nRead?=?recv(connfd??buf??sizeof(message)??0);
/*recv函數返回值?<0?出錯??=0?鏈接關閉??>0接收到的字節數*/
if(nRead?<=?0)
{
printf(“您已經異常掉線,請重新登錄!\n“);
close(connfd);
exit(0);
}//if
memset(&
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2015-12-22?10:53??ChatRome_select\
?????文件????????6144??2015-12-22?10:50??ChatRome_select\chatRome.db
?????目錄???????????0??2015-12-22?10:53??ChatRome_select\client\
?????文件????????5352??2015-12-22?10:21??ChatRome_select\client\chat.c
?????文件???????18520??2015-12-22?10:45??ChatRome_select\client\client
?????文件????????3425??2015-12-22?10:33??ChatRome_select\client\client.c
?????文件????????2027??2015-12-17?17:07??ChatRome_select\client\config.c
?????文件????????2953??2015-12-22?10:09??ChatRome_select\client\config.h
?????文件????????2056??2015-12-17?16:30??ChatRome_select\client\interface.c
?????文件????????1480??2015-12-15?21:30??ChatRome_select\client\login.c
?????文件?????????624??2015-12-16?11:37??ChatRome_select\client\Makefile
?????文件????????1397??2015-12-18?16:56??ChatRome_select\client\register.c
?????文件????????1643??2015-12-22?11:24??ChatRome_select\readme
?????目錄???????????0??2015-12-22?11:14??ChatRome_select\server\
?????文件???????11587??2015-12-22?10:45??ChatRome_select\server\chat.c
?????文件????????2027??2015-12-17?17:06??ChatRome_select\server\config.c
?????文件????????3728??2015-12-22?10:09??ChatRome_select\server\config.h
?????文件????????2806??2015-12-22?09:07??ChatRome_select\server\list.c
?????文件????????2268??2015-12-22?10:38??ChatRome_select\server\login.c
?????文件?????????604??2015-12-16?13:56??ChatRome_select\server\Makefile
?????文件????????2707??2015-12-22?10:29??ChatRome_select\server\register.c
?????文件????????5734??2015-12-22?10:38??ChatRome_select\server\server.c
評論
共有 條評論