case '0'://判断是否重名ptemp = phead;while(ptemp->next!=NULL){ptemp = ptemp->next;if(!strcmp(ptemp->cli.cli_name,data_cli.cli_name)){memset(data_cli.send_text,0,N);snprintf(data_cli.send_text,N,"用户名[%s]已被占用,请您换一个用户名登录!",data_cli.cli_name);if(-1==sendto(sockfd,&data_cli,sizeof(data_cli),0,(struct sockaddr *)&clientaddr,clientaddr_len)){ERRLOG("名字检验信号发送失败");}break;}}if(ptemp->next==NULL&&strcmp(ptemp->cli.cli_name,data_cli.cli_name)){memset(data_cli.send_text,0,N);strcpy(data_cli.send_text,"登录成功,欢迎使用!\0");data_cli.operate='1';if(-1==sendto(sockfd,&data_cli,sizeof(data_cli),0,(struct sockaddr *)&clientaddr,clientaddr_len)){ERRLOG("名字检验信号发送失败");}}break;
 puts("--------欢迎登录Future聊天室--------");//填充本人数据data data_cli;loop:printf("请输入您登录的名字:\n");fgets(data_cli.cli_name,sizeof(data_cli.cli_name),stdin);data_cli.cli_name[strlen(data_cli.cli_name)-1]='\0';data_cli.operate='0';//发送检验登录名信息if(-1==sendto(sockfd,&data_cli ,sizeof(data_cli),0,(struct sockaddr *)&serveraddr,serveraddr_len)){ERRLOG("登录检验信号发送失败");}if(-1==recvfrom(sockfd,&data_cli ,sizeof(data_cli),0,(struct sockaddr *)&serveraddr,&serveraddr_len)){ERRLOG("接收检验信息失败");}if(data_cli.operate=='0'){printf("%s\n",data_cli.send_text);goto loop;}else if(data_cli.operate=='1'){printf("%s\n",data_cli.send_text);}//发送登录信息if(-1==sendto(sockfd,&data_cli ,sizeof(data_cli),0,(struct sockaddr *)&serveraddr,serveraddr_len)){ERRLOG("登录信号发送失败");}

PS:要将姓名等信息也插入到客户端信息结构体中,遍历比对链表中的姓名

聊天室加入用户名查重功能相关推荐

  1. 计算机类的毕业论文是怎么查重的,论文检测软件是如何实现查重功能的

    之所以人们在写完论文之后会使用知网检测软件来检测文章的原创度,是因为重复率过高的论文是无法符合要求的.那么,我们日常生活中所使用的论文检测软件是如何实现查重功能的呢?现在,就让我详细的为大家进行介绍. ...

  2. 基于Python3.x pandas实现大疫情的查重功能

    基于Python3.x pandas实现大疫情的查重功能 https://blog.csdn.net/ky200904020/article/details/88693219 系统使用 win7 32 ...

  3. 语音聊天室源码开发点赞功能,用 MySQL 还是 Redis ?

    为了提升用户在语音聊天室源码中的互动性,一般在开发动态广场功能时会支持用户间对动态进行点赞,所以点赞功能可以说是语音聊天室源码开发的基础性功能,今天我们就来聊聊点赞.评论.收藏等这些场景的db数据库设 ...

  4. ajax java用户名查重_Django之AJAX

    AJAX准备知识:JSON 什么是 JSON ? JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation) JSON 是轻量级的文本数据交换格式 JS ...

  5. 如何在基于python的聊天室中实现表情接收功能

    注:本聊天室涉及TCP.SNMP协议 发送表情功能要点主要有两部分:表情按钮点击事件.字典存放表情. 表情按钮点击事件:发送表情时,参数是发的表情图标记,发送后将按钮销毁. 本次选用四个表情,每一个表 ...

  6. web聊天室项目开发过程及重难点整理

    目录 一.需求分析 二.业务背景 1.张三要发消息给李四 2.WebSocket实现消息推送流程 三.前后端接口和数据库系统设计 1.用户相关的接口 2.频道相关接口 3.数据库表的设计 四.功能交互 ...

  7. c语言中查重,体验CCleaner查重功能,快速找出电脑中的重复文件

    在我们的电脑中,除了会有很多工作上的文件,还会有大量的生活照片.生活视频.当自己去整理这些文件的时候,会发现有很多都是重复的,太占用电脑磁盘空间了.可是要自己一个个去查找一个个去删除,那真是太浪费精力 ...

  8. Java实现快速文件查重功能

    /*** 重复文件管理器*/ public class RepeatFileManager {private static final String EMPTY_FILE = "empty_ ...

  9. java web利用mvc结构实现简单聊天室功能

    简单聊天室采用各种内部对象不适用数据库实现. 一个聊天室要实现的基本功能是:         1.用户登录进入聊天室, 2.用户发言 3.用户可以看见别人发言 刚才算是简单的需求分析了,现在就应该是进 ...

最新文章

  1. CSS之布局(盒子的尺寸)
  2. Git使用学习笔记 (一)
  3. 求带便函数权值的最短路径
  4. JUNOS Olive GRE Tunnel Configuration
  5. linux环境下最简单的C语言例子
  6. gi如果某次提交错误,如何撤回
  7. TensorFlow tf.data.Dataset
  8. 解读现代存储系统背后的经典算法
  9. [转摘] 我的同学聚会--性格决定命运
  10. Cocos数据篇[3.4](3) ——XML数据操作
  11. android 7.0楷体字体,Win7系统怎么设置字体为楷体gb2312
  12. ExpandableListView使用方法详解
  13. iPhone如何连接U盘呢 iphone连接u盘方法教程
  14. matlab线性方程组求解
  15. 电脑复制粘贴不了怎么办?
  16. 火车头采集ajax网址的技巧,使用post方法获得采集网址
  17. docker 安装node
  18. python中使用cv2遍历图片像素点以及改变像素点的像素值
  19. 微立体个人年终总结计划PPT模板
  20. PHP邮件功能无法完成电子邮件的发送

热门文章

  1. 数据结构课设——单位员工通讯录管理系统
  2. 【Spring】基于IntelliJ IDEA搭建Maven
  3. 2017上海交大计算机考研复试名单,上海交通大学2017年硕士研究生复试分数线
  4. python3之calendar日历模块
  5. SAP BW介绍(zt)
  6. SpringBoot整合chatGPT
  7. html5仿mac商城css,html5+javascript+css商城(模拟联想)购物系统
  8. 人工智障与深度学渣之问题集锦:ValueError: Shape must be rank 4 but is rank 1 for 'Conv2D' with input shapes。。。
  9. android 视频特效,安卓特效相机(四) 视频录制
  10. 树莓派4B 连接及配置