添加好友

目录

添加好友的思路:

1.假设A添加B

a.如果B在线

b.如果B不在线


添加好友的思路:

1.假设A添加B

A给服务端发送要添加B的消息,服务端接受后,先把A添加B的信息存入数据库,再去个人信息表查看B是否在线

a.如果B在线

则把要添加B的消息由服务端转发给B,在B处的循环线程也一直监听是否有人发送好友请求,如果有,显示在界面上,再同不同意,同意的话,在自己的好友列表上显示A好友,然后把B同意A的消息发送给服务端,再由服务端转发给客户端的A,此时A接收到B同意的消息,那么就把B显示在好友列表上

b.如果B不在线

则直接存入数据库(A添加B),之后等b上线后,要做一件事情就是判断是否有人添加他,判断方法为去数据库查,有的话就显示有消息,点开消息再看谁加你,同意就可以发送给服务端请求,服务端再给A发消息说他同意了,就显示在请求列表里面让看A同不同意

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/51833.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

「问题解决」jdk高版本导致请求返回对象转换报错

报错:Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make protected native java.lang.Object java.lang.Object.clone() throws java.lang.CloneNotSupportedException accessible: module java.base does not “opens java.lang” to unn…

UnityShaderUI编辑器扩展

前言: 当我们在制作通用Shader的时候,避免不了许多参数混杂在一起,尽管在材质面板已经使用过Header标签来区分,但是较长的Shader参数就会导致冗余,功能块不够简约明了,如图: 对于Shader制作者来…

FPGA开发——蜂鸣器的控制

一、概述 在项目开发的过程当中,我会通常会需要一个东西就行报警显示,有使用语音报警,信息报警等注入此类的方式,但最为简单使用的还是蜂鸣器的使用,蜂鸣器控制简单,成本低,是最为常用的模块之…

测试面试宝典(三十七)—— 接口测试中的加密参数如何处理?

1)先了解接口使用的加密方式(md5、rsa...) 2)检查接口测试工具是否支持这种加密方式,如果支持的话,直接使用对应功能就行了(比如Jmeter支持md5);如果加密方式是公司内部特有的算法,可以在接口测试工具中调…

柯尔莫哥洛夫-阿诺德网络

柯尔莫哥洛夫-阿诺德网络(Kolmogorov-Arnold Network,简称KAN)是一个理论框架,主要用于描述高维函数如何通过一组低维函数的组合来近似表示。这个理论的基础源自安德烈柯尔莫哥洛夫和弗拉基米尔阿诺德在函数逼近理论中的工作&…

NSSRound#4 Team

[NSSRound#4 SWPU]1zweb 考察&#xff1a;phar的反序列化 1.打开环境&#xff0c;审计代码 1.非预期解 直接用file伪协议读取flag,或直接读取flag file:///flag /flag 2.正常解法 用读取文件读取index.php,upload.php的源码 index.php: <?php class LoveNss{publi…

3. Docker的数据管理与持久化

在Docker容器化应用中&#xff0c;数据的持久化和管理是一个关键问题。容器的生命周期短暂&#xff0c;容器的停止和删除会导致数据丢失。因此&#xff0c;了解Docker的数据卷&#xff08;Volumes&#xff09;和挂载&#xff08;Mounts&#xff09;的管理方式&#xff0c;对保障…

环境搭建-Docker搭建ClickHouse

Docker搭建ClickHouse 一、前言二、ClickHouse安装2.1 拉取镜像运行ClickHouse服务 三、测试安装3.1 进入clickhouse容器3.2 命令补充说明 四、测试连接五、设置CK的用户名密码 一、前言 本文使用的Docker使用Windows搭建&#xff0c;Linux版本的搭建方式一样。 Windows系统搭…

Data Race: 并发编程中的数据竞争问题

Data Race: 并发编程中的数据竞争问题 &#x1f50d; &#x1f680; Data Race: 并发编程中的数据竞争问题 &#x1f50d;摘要引言正文内容一、什么是数据竞争&#xff1f; &#x1f914;1.1 数据竞争的定义1.2 数据竞争的特征 二、数据竞争的原因和影响 &#x1f6a8;2.1 原因…

Redis学习笔记——第18章 发布与订阅

第18章 发布与订阅 18.1 频道的订阅与退订 订阅关系保存在字典中&#xff0c;Key为频道&#xff0c;value为订阅该频道的客户端链表 18.2 模式的订阅与退订 可以使用通配符&#xff0c;如果订阅了news.*类型的频道&#xff0c;则会将news.*保存为一个Key&#xff0c;value为…

SpringBoot2整合Kafka

引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency><groupId>org.springframework.kafka</groupId><artifactId>s…

小主机SSD固态硬盘选购攻略,希捷酷鱼 530 SSD固态硬盘表现优秀【附系统无损迁移教程】

小主机SSD固态硬盘选购攻略&#xff0c;希捷酷鱼 530 SSD固态硬盘表现优秀【附系统无损迁移教程】 哈喽小伙伴们好&#xff0c;我是Stark-C~ 这几年随着以零刻为首的小主机市场的兴起&#xff0c;小主机相关的配置周边需求也是越来越大&#xff0c;就比如说SSD固态硬盘就是其…

《Windows API每日一练》22.3 SHE异常

本节我们将讲述单线程到多线程的演进过程&#xff0c;以及进程与线程的区别。 本节必须掌握的知识点&#xff1a; SHE异常 第170练&#xff1a;SEH异常处理程序 第171练&#xff1a;setjmp和longjmp进行异常捕获与处理 22.3.1 SHE异常 在C语言中&#xff0c;Windows平台提供…

定制数据流:在Mojo模型中打造个性化数据预处理

定制数据流&#xff1a;在Mojo模型中打造个性化数据预处理 数据预处理是机器学习工作流程中的关键步骤&#xff0c;它直接影响到模型的性能和训练效率。Mojo模型&#xff0c;作为一个先进的机器学习框架&#xff0c;提供了强大的扩展性来支持自定义数据预处理。本文将深入探讨…

代码随想录算法训练营Day54|| 图论part04

图论部分就先不手写代码了。能理解就很花时间了&#xff0c;先看懂逻辑和代码&#xff0c;关键基础部分写写吧。 卡玛网110字符串接龙&#xff1a;相当于求无向图的最短路径&#xff0c;广搜最合适&#xff0c;因为广搜第一次找到路径一定最短。 广搜就要利用队列&#xff0c;代…

JavaScript while 循环

JavaScript while 循环 JavaScript 中的 while 循环是一种基本的循环控制结构&#xff0c;它重复执行一段代码&#xff0c;直到指定的条件不再满足为止。这种循环结构在处理不确定次数的循环时非常有用&#xff0c;尤其是当循环的次数依赖于某些运行时条件时。 基本语法 whi…

一款免费开源的AI贴纸生成工具

StickerBaker是一款免费开源的AI贴纸生成工具&#xff0c;旨在通过简单的文本输入快速创建个性化贴纸。用户只需在输入框中输入关键词或短语&#xff0c;如“猫”、“击掌”等&#xff0c;AI就会将这些文本转换为相应的图像贴纸。该工具支持批量生成&#xff0c;可以一次性输入…

C语言中的特殊指针

文章目录 &#x1f34a;自我介绍&#x1f34a;野指针&#x1f34a;void *指针&#x1f34a;NULL指针 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以&#xff1a;点赞关注评论收藏&#xff08;一键四连&#xff09;哦~ &#x1f34a;自我介绍 Hello,大家好&#xff0c…

苹果iPhone手机将使用QLC NAND闪存技术,存储或将提升

本文首发于公众号“AntDream”&#xff0c;欢迎微信搜索“AntDream”或扫描文章底部二维码关注&#xff0c;和我一起每天进步一点点 苹果公司计划在未来的iPhone产品中使用QLC NAND闪存技术&#xff0c;这一技术将对iPhone的存储性能带来显著提升。以下是一些关键点&#xff1a…