資源簡介
客戶端,采用多線程。一個接收服務器消息,一個發送消息給服務器。
服務器,采用select()進行IO復用。
編譯文件是Makefile。
(1)用戶登錄:
【1】client端接收用戶名和密碼->存于結構體中->將結構體發送給server端。
【2】server端接收client發送的結構體->打開存儲用戶名密碼的文件->文件寫入鏈表中->遍歷鏈表驗證用戶信息。
【3】server端驗證正確發送“登陸成功”消息,錯誤發回“登陸失敗”消息。client端接收,“登陸成功”則進入聊天,“登陸失敗”則跳出。
【4】若驗證成功,server端產生一個新的套接字newfd,將它與用戶名封裝于
代碼片段和文件信息
#include?“main.h“
void?allchat(int?sockfd?Mess?*mess)
{
mess->type?=?6;
char?tab[50]?=?“\e[1;5;34mI?made?a?smiling?face\e[0m\n“;
char?tab1[50]?=?“\e[1;5;34mI?made?a?sad?face\e[0m\n“;
while(1)//在一個死循環中輸入信息,直到輸入bye結束
{
printf(“\e[1;5;34mInput?message:\e[0m\n“);
printf(“****************************\n“);
printf(“\e[1;5;34m*\e[0m?:)???--->??smiling?face\n“);
printf(“\e[1;5;34m*\e[0m?:(???--->??sad?face?\n“);
printf(“\e[1;5;34m*\e[0m?q????--->??quit\n“);
printf(“****************************\n“);
fgets(mess?->?mtext?100?stdin);
if(strncmp(mess?->?mtext?“q“?1)?==?0)
{
break;
}
if(strncmp(mess?->?mtext?“:)“?2)?==?0)
{
strcpy(mess?->?mtext?tab);
}
if(strncmp(mess?->?mtext?“:(“?2)?==?0)
{
strcpy(mess?->?mtext?tab1);
}
if(wr
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????934??2017-10-26?10:49??聊天室\client\allchat.c
?????文件???????2148??2017-10-26?10:49??聊天室\client\allchat.o
?????文件????????766??2017-10-26?10:49??聊天室\client\bespuser.c
?????文件???????1480??2017-10-26?10:49??聊天室\client\bespuser.o
?????文件????????645??2017-10-26?10:49??聊天室\client\chatlog.c
?????文件???????1480??2017-10-26?10:49??聊天室\client\chatlog.o
?????文件??????18526??2017-10-26?10:49??聊天室\client\client
?????文件????????228??2017-10-26?10:48??聊天室\client\dis_all.c
?????文件????????976??2017-10-26?10:48??聊天室\client\dis_all.o
?????文件???????1018??2017-10-26?10:48??聊天室\client\file.c
?????文件???????1676??2017-10-26?10:48??聊天室\client\file.o
?????文件???????1081??2017-10-26?10:48??聊天室\client\forbid_permit.c
?????文件???????1712??2017-10-26?10:48??聊天室\client\forbid_permit.o
?????文件???????1283??2017-10-26?10:48??聊天室\client\login.c
?????文件???????1756??2017-10-26?10:48??聊天室\client\login.o
?????文件??????14220??2017-10-26?10:48??聊天室\client\main
?????文件???????3828??2017-10-26?10:48??聊天室\client\main.c
?????文件???????1831??2017-10-26?10:48??聊天室\client\main.h
?????文件???????3576??2017-10-26?10:48??聊天室\client\main.o
?????文件????????354??2017-10-26?10:48??聊天室\client\makefile
?????文件???????3388??2017-10-26?10:48??聊天室\client\menu.c
?????文件???????4464??2017-10-26?10:48??聊天室\client\menu.o
?????文件???????9220??2017-10-26?10:48??聊天室\client\msg.wav
?????文件???????1049??2017-10-26?10:48??聊天室\client\mythread.c
?????文件???????1876??2017-10-26?10:48??聊天室\client\mythread.o
?????文件???????1451??2017-10-26?10:48??聊天室\client\onechat.c
?????文件???????2544??2017-10-26?10:48??聊天室\client\onechat.o
?????文件???????1192??2017-10-26?10:48??聊天室\client\regist.c
?????文件???????1680??2017-10-26?10:48??聊天室\client\regist.o
?????文件??????????0??2017-10-26?10:48??聊天室\client\s.txt
............此處省略53個文件信息
- 上一篇:報刊訂閱管理系統 數據庫
- 下一篇:PPT做出的蘋果廣告
評論
共有 條評論