杨勇博客之家

增进学习,互相切磋

Lua_面向对象继承

先创建基类: Person.lua Person = {name,age,score} function Person:new() o= o or {}; setmetatable(o,self) self.__index = self self.name = "123&quo...

2019-04-30 15:57:23

阅读数 41

评论数 0

00003-微信小游戏--代码封装

在前面的内容我们已经可以让图片随着手指或者鼠标的移动而移动了。但是我们的一个main.js脚本不能写所有的内容,我们应该让每一张图片自己管理自己的行为。为此我们做了第一次代码的封装。 sprite.js 游戏基础的精灵类 /** * 游戏基础的精灵类 */ export default cl...

2019-04-26 11:21:36

阅读数 49

评论数 0

00002-微信小游戏--触摸事件

响应用户与屏幕的交互是游戏中必不可少的部分,小游戏参照 DOM 中的 TouchEvent 提供了以下监听触摸事件的 API: wx.onTouchStart() wx.onTouchMove() wx.onTouchEnd() wx.onTouchCa...

2019-04-25 13:46:41

阅读数 70

评论数 0

00001-微信小游戏--显示图片

安装微信小程序和工具的操作就不再介绍了。 canvas 是一个画布,我们可以在上面绘制内容。所有绘制的内容需要使用一个屏幕坐标系,屏幕坐标系是以屏幕的左上角的点为0,0点。右方向为X轴正方向,下方向为Y轴正方向。 在Canvas 上进行绘制 let ctx = canvas.getContext...

2019-04-25 11:42:08

阅读数 58

评论数 0

0010-异步编程连接池

服务器和客户端连接,服务器会创建一个连接,客户端和服务器断开,服务器会销毁一个连接。为了避免服务器频繁的创建和销毁连接。在这里,我们可以创建一个连接池去管理这些连接。其实连接池是一种空间换时间的操作。 连接池代码: using System; using System.Collections.Ge...

2019-04-24 14:40:17

阅读数 47

评论数 0

0009-异步编程消息队列与断开连接

到目前为止,这里面有个问题,就是加入服务器频繁的发送数据给客户端,客户端还没有发送出去就由要发送数据,那么我们怎么保证数据按顺序发送呢?这里面我们引入消息队列。 /// <summary> /// 发送数据列表 /// &...

2019-04-24 09:11:24

阅读数 42

评论数 0

0008-异步编程消息分发与连接状态

消息的分发应该有SeverPeer.cs来进行发送,我们之前已经将所有和服务器的连接进行了封装,成为了ClientPeer.cs。接受和发送数据都在ClientPeer实例中。但是我们要将接受到的数据进行模块儿化处理,那么就要由SeverPeer实例来进行管理。在这里我们就要使用到委托和接口回调了...

2019-04-23 17:30:14

阅读数 23

评论数 0

0007-异步编程第二次重构

在我们接受到消息后,其实应该有一个消息类出处理收发的消息,而减少ClientPeer的工作量。我们这次使用ProtoBuf封装一个消息。在这个消息中我们要包含消息来自哪一个模块,作用于那个函数,消息内容是什么。 因此我们定义了一个协议: .proto文件 package ServerProt...

2019-04-23 09:59:06

阅读数 54

评论数 0

0006-异步编程协议初识protobuf-net

在我们

2019-04-22 14:20:32

阅读数 63

评论数 0

0005-异步编程第一次重构

我们到目前为止,服务器已经能和多个客户端建立联系,大致的图像就是下面的图像,服务器保存了每一个和客户端建立起来的连接,也就是套接字。 从服务器和客户端建立起来连接开始,也就是以下的代码 Socket client = listener.EndAcceptSocket(ar); 之后,我们应该让每...

2019-04-21 21:24:34

阅读数 38

评论数 0

0004-异步编程分包

如果我们要处理客户端的每一条消息,针对与上面的粘包的问题,我们无法处理消息的,我们不知道消息到底有多长(虽说我们的案例是一样的,但实际开发中可能是不一样的),那么我们就要涉及到分包的问题了。 在上一篇的文章中我们可以看到一篇文章被接受了多次才接受完,加入客户端一下发了多篇文章?那么我们怎么才能把...

2019-04-20 14:13:53

阅读数 42

评论数 0

0003-异步编程粘包

针对于上一篇文章中,加入客户端一次性发送大量的数据,那么有些信息就会粘包就会发生。 客户端代码发送消息代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; names...

2019-04-20 14:11:35

阅读数 26

评论数 0

0002-TcpListener/TcpClient异步编程

服务器代码示例: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.Net.Sockets; namespace...

2019-04-20 14:05:54

阅读数 34

评论数 0

0001-TcpListener/TcpClient同步编程

在使用TcpListener/TcpClient同步编程之前,要引入两个命名空间 using System.Net; using System.Net.Sockets; 服务器代码示例: using System; using System.Collections.Generic; using ...

2019-04-20 14:01:41

阅读数 51

评论数 0

【Selenium】Chromedriver版本(更新至v2.41)与Chrome版本(更新至69)映射关系

Chromedriver版本 支持的Chrome版本 v2.41 v67-69 v2.40 v66-68 v2.39 v66-68 v2.38 v65-67 v2.37 v64-66 ...

2018-10-15 20:49:53

阅读数 405

评论数 0

Python2 和Python3中的差异

字典: has_key方法在python2中是可以使用的,在python3中删除了。 比如: if dict.has_key(key): 改为: if key in dict: 在Python3中使用 dict.has_key(key) 报错为 ‘dict’ object has no a...

2018-09-26 11:35:08

阅读数 104

评论数 0

Django视图模板_004

视图模板

2018-09-20 08:32:31

阅读数 115

评论数 0

Django对象查询_003

通过CMD 命令窗口进入工程目录 并输入以下目录 python manage.py shell 导入需要模块 from blog import models 创建一个对象 author = models.Author(name='kk',age=16,gender='woman',addres...

2018-09-19 18:11:00

阅读数 96

评论数 0

Django操作数据库_002

Django 操作数据库—数据模型MVT:Model数据模型部分 1.Django连接数据库 web软件对于数据库操作,都是一种常规操作,每次的操作开发都是重复的,所以Django将连接数据库的操作封装起来了 只需要进行简单的配置就可以完成和数据库的连接 修改项目的配置文件setting....

2018-09-19 11:10:48

阅读数 104

评论数 0

CSDN-markdown编辑器

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数...

2018-09-18 10:39:48

阅读数 68

评论数 0

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