资源简介
客户端,采用多线程。一个接收服务器消息,一个发送消息给服务器。
服务器,采用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做出的苹果广告
相关资源
- NodeJs实时通讯(WebSocket聊天室)
- 聊天室/多人视频会议系统源码 (Fm
- 网络 基于UDP网络聊天室
- 基于winsocket的聊天室
- vc socket实现的聊天室,一个服务器,
- 基于tcp/ip协议的简单局域网聊天室
- 基于Linux网络聊天室的设计(课程设计
- spring集成redis实现聊天室功能
- 聊天室可执行程序
- Linux下多人聊天室完整版
- QQ聊天室的设计与实现Windows网络编程
- .net聊天室小
- 利用servlet技术实现一个简单的聊天室
- QT下UDP协议写的简单聊天室
- springboot+websocket+Stomp+RabbitMq 实现多人
- websocket 通信demo实现实时对话 多人群
- UDP简易聊天室
- 基于linux的socket多人聊天室程序,采用
- TCP/IP的多人聊天室程序源码
- linux下基于UDP协议的聊天室
- 计算机网络课程设计-基于广播通信的
- 局域网聊天室/文件传输
- 用Qt编写的聊天室源码
- linux网络编程(TCP多人在线聊天室)
- 使用Qt 实现简单聊天室
- 原创-基于QT的网络聊天室和文件传输
- 简易聊天室实验报告
- eclipse实现的聊天室
- 用CSocket类实现的聊天室程序
- 网页版QQ在线聊天系统
评论
共有 条评论