自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

付大大丶的博客

条条大路通罗马!

  • 博客(30)
  • 收藏
  • 关注

原创 25、实现群聊

方案二、 map<群id> 优势是找用户ID非常快 劣势是发送信息时需要根据userid获取node,锁的频次太高。分析群id,找到加了这个群的用户,把消息发送过去 方案一、 map 优势是锁的频次低 劣势是要轮训全部map。1、当用户接入的时候初始化groupset。2、当用户加入群的时候刷新groupset。1、还需实现建群,加群的业务逻辑。

2023-07-22 08:41:05 160

原创 24、实现语音和视频支持

【代码】24、实现语音和视频支持。

2023-07-22 08:35:45 133

原创 22、实现发送文字、表情包

弹出一个窗口, 选择按钮,进行录音操作,获得录音文件 上传到服务器, 获得一个连接地址 调用 sendaudiomsg方法 开始发送流程。弹出一个窗口, 选择按钮,选择视频 上传到服务器, 获得一个连接地址 调用 sendaudiomsg方法 开始发送流程。弹出一个窗口, 选择图片,上传到服务器 获得一个连接地址 调用 sendpicmsg方法开始发送流程。弹出一个窗口, 选择图片获得一个连接地址 调用 sendpicmsg方法开始发送流程。前端所有的操作都在拼接数据 如何拼接?二、 前端处理核心方法。

2023-07-22 08:23:49 527

原创 21、设计可以无限扩张业务场景的消息通讯结构

里面携带 谁发的-userid 要发给谁-dstid 这个消息有什么用-cmd 消息怎么展示-media 消息内容是什么-(url,amout,pic,content等)用户2向用户3发送文字消息hello。前端通过websocket发送。json格式的字符串。

2023-07-22 08:15:31 105

原创 20、接入websocket并实现最基础的文字通讯

首先下载webscoket相关包go get -u github.com/golang/net/webscoket。websocket包下载指令go get github.com/gorilla/websocket。下载 第三方集合包go get -u gopkg.in/fatih/set.v0。2.在main的go中定义一个路由,形成映射关系。1.新建controller/chat.go。

2023-07-18 09:41:08 256

原创 19、显示好友列表和群

在service/init.go中自动同步模型的结构体和数居库的表结构生成映射的关系。service下contact.go自动添加好友业务逻辑。封装第9行代码的util.Bind方法。args目录下的contact.go。会发现调用的一些包没有,则进行扩展。

2023-07-18 01:03:41 519

原创 18、接入聊天主页面

控制器里实现对service层代码的调用及逻辑处理。运行完对结果进行测试,登录成功进行弹框url地址。修改成功之后进行跳转页面,直接进行跳转。用户名密码输入正确,跳转效果图。前端对返回的结果集进行拼接。查看接口相应的返回数据。获得id和token。

2023-07-18 00:54:49 91

原创 17、mui+vue实现的聊天界面展示和说明

把一些公共的视图独立出来,然后引入模版的名字,整个应用看起来更简洁了。

2023-07-18 00:40:43 264

原创 16、基于MVC思想的通用应用程序架构

至此,一套通用的mvc结构就已经封装好了。

2023-07-18 00:27:22 88

原创 15、以注册为例展示对service层的调用

需要使用以下解决方案,以下方法可以方法可以自动创建表结构。发现返回的结果集没有token,进行处理下token。启动服务,如果服务启动失败,则按照以下步骤进行排错。在main.go中定义注册路由和注册方法。如果启动服务报以下错误,说明没有表结构。之后在请求就可以得到一些相关信息。再次运行发现token已经存在了。

2023-07-18 00:16:15 103

原创 12、使用xorm操作数据库---数据库初始化

运行一下,会发现一个报错,这是什么原因呢。在来启动一下,数据库初始化启动成功。

2023-07-17 23:39:08 229

原创 14、service层实现注册逻辑

创建用户service。

2023-07-17 23:32:00 135

原创 13、使用xorm操作数据库---建立用户模型&数据库增删改查基本API

新建model层的user文件定义用户结构体//用户id//手机号 唯一的//用户密码 f(plainpwd+salt),MD5//头像//性别//昵称// 随机数//是否在线//前端用户登录鉴权 chat?//统计每天用户增量时间在模型层定义性别常量及使用三、定义服务层服务层service,专门用来存放数据库业务服务的,如:注册、登录,CURD相关API//三、定义和业务相关的服务服务层service,专门用来存放数据库业务服务的,如注册、登录。

2023-07-17 22:26:54 304

原创 11、懒人必备20行代码实现全部模板页面自动渲染并接入

思考一下, 现在只是两个页面都这么多代码,那想一想有没有一劳永逸的办法呢?而且每次运行代码的内容基本上都差不多。可不可以把这些共同代码抽象提炼出共同的方法里呢?新建一个test文件测试一下是否好使,记得重启,后续没有修改main.go的代码,看一下是否可以生效。答案是肯定的,接下来给大家展示一个 万能的模板渲染函数。运行发现没有任何问题,能够渲染成功。

2023-07-17 22:15:35 209

原创 10、以登录为例展示templete模板渲染

定义模版,标识后端渲染的视图。定义可以允许访问的模版。

2023-07-17 22:06:16 61

原创 9、实现页面展示及指定资源文件支持

经测试,通过命令行可以直接报漏出代码,如果main.go是敏感的代码,则不安全,那应该怎么办呢?上面的动态文件404,下面的静态文件内容正常输出,说明成功了。因为没有提供静态文件的支持,接下来编写提供静态资源支持的代码。运行服务,发现页面未找到,这是为什么呢。提供指定目录的静态文件支持。

2023-07-17 21:42:11 60

原创 8、代码结构优化

添加omitempty属性,接口失败时不返回data。

2023-07-17 21:21:41 93

原创 7、登陆简单逻辑介绍及实现

支持10万人同时在线,Go语言打造高并发web即时聊天(IM)应用

2023-07-17 21:01:04 268

原创 excel导入导出

导出(Yii框架中):header("Content-type:application/vnd.ms-excel");header("Content-Disposition:attachment;filename=123.xls");$connection=\Yii::$app->db;$arr=$connection->createCommand("select * from re

2016-09-21 19:34:45 254

原创 git与svn cvs对比

git是一个分布式版本控制软件,与常用的版本控制工具如CVS、Subversion不同,支持离线开发,离线Repositor。强大的分支功能,适合多个独立开发者协作。速度块。如果拥有CVS或者SVN的使用背景,那么更熟悉的方法是客户端-服务器端模式,所有的文件仓库(repository)都是存放在服务器上的,用户需要在本地安装客户端去服务器上的项目中获取旧版本,提交新版本。GIT抛弃了这种模式

2016-09-21 11:48:14 2127

转载 大型网站必须要考虑的问题

这里的大型网站架构只包括高互动性高交互性的数据型大型网站,基于大家众所周知的原因,我们就不谈新闻类和一些依靠HTML静态化就可以实现的架构了,我们以高负载高数据交换高数据流动性的网站为例比如海内,开心网等类似的web2.0系列架构。我们这里不讨论是PHP还是JSP或者.NET环境,我们从架构的方面去看问题,实现语言方面并不是问题,语言的优势在于实现而不是好坏,不论你选择任何语言,架构都是必

2016-09-21 11:44:52 304

原创 Centos7安装redis

安装之前没有安装GCC请先安装$ yum install gcc-c++$ wget http://download.redis.io/releases/redis-2.8.17.tar.gz $ tar xzf redis-2.8.17.tar.gz $ cd redis-2.8.17 $ make make完后 redis-2.8.17目录下会出现编译后的redis服务程序

2016-09-17 17:20:07 279

转载 apache和nginx开启https

1.安装mod_ssl和openssl yum -y install mod_ssl openssl 2.建立服务器密钥 mkdir /etc/httpd/conf.d/ssl.key/ cd /etc/httpd/conf.d/ssl.key/ openssl genrsa -out server.key 1024 3.建

2016-09-17 15:31:15 308

原创 YSlow团队的23条“Web性能最佳实践和规则”

1、尽可能减少HTTP请求次数2、使用CDN3、避免空src和href标签4、加入Expires或Cache-Control Header5、使用Gzip压缩6、在html文件顶部放置样式表7、在html文件底部放置JavaScript脚本8、避免使用CSS表达式9、使用外部JavaScript和CSS外部文件10、减少使用DNS查找次数11、精简JavaS

2016-09-17 15:29:02 234

原创 抢红包流程

首先,分析一下。现如今,各大电商系统推出的各种活动非常火爆,比如秒杀,定时抢购等等这些。都能吸引消费者的眼球。其实,红包也就跟秒杀,定时抢购这些一个需求,都是解决高并发的问题。1>分析一下红包的思路那么举个例子。10块钱包10个红包。我们选择10块钱,包10个包,那么在我们分包之后,就用算法随机的将这10个包随机的分配。用户在抢的时候,10个包是已经分好的。很多人都会认为,用户抢一

2016-05-19 13:51:22 1133

原创 echop二次开发——电子票

先展示下效果:后台实现过程一、             添加菜单项:路径admin\includes\inc_menu.php$modules['18_ticket_manage']['01_ticket_list']  = 'ticket.php?act=list';$modules['18_ticket_manage']['02_ticket_add']  = 't

2016-05-18 14:48:28 8829

原创 MYSQL大全(sql语句,基本命令操作)

一、用户创建、权限、删除1、连接MySql操作连接:mysql -h 主机地址 -u 用户名 -p 用户密码 (注:u与root可以不用加空格,其它也一样)断开:exit (回车)打开cmd,输入mysql -h 127.0.0.1 -u root -p 然后输入密码。就可以连接到本地的MySql数

2016-05-18 11:06:55 580

转载 CI中如何实现伪静态

第一步:在根目录下(index.php)同一级目录下建立一个.htaccess这个文件文件内容(即红色标识所显示的内容)URI 类 和 URL 辅助函数 包含了一些函数可以让你更容易的处理 URI 数据,另外,你的 URL 可以通过 URI 路由 进行重定向从而得到更大的灵活性。移除 URL 中的 index.php默认情况,你的 URL 中会包含 in

2016-05-18 10:48:30 619

原创 ecshop开发中首次登陆增加会员积分

首先说一下需求,需求如下:接下来说一下整体的思路:我们应该认识到,积分是买家的,所以积分增加其实就是在前台登录的时候才会有效。而商家是管理后台的,所以后台只是展示一下前台用户登录后的信息。我在这里说两种简单的方法,memcache和查询数据库。后台添加会员积分栏目——>后台会员积分模板展示——>在前台登录的时候判断时间——>后台增加积分其实难点也就是第三步,判断登录

2016-05-18 09:57:20 1491

原创 base64转码(简单的get方式图片上传,模拟app接收图片)

首先,我们选择用get方式接值,所以要选取一张小一点的图片。将图片放在自己的根目录下任意位置,新建pictur.php和get_pictur.php,在目录下建img文件夹(存储图片)。在picture.php中接收图片并且将图片用base64加密。给一个a标签,让页面跳转到get_picture.php中(模拟app客户端)。在get_picture.php中首先接值

2016-05-17 15:02:57 2830

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除