WebSocket学习笔记IE,IOS,Android等设备的兼容性问 一.背景 公司最近准备将一套产品放到Andriod和IOS上面去,为了统一应用的开发方式,决定用各平台APP嵌套一个HTML5浏览器来实现,其中数据通信,准备使用WebSocket的方式.于是,我开始在各大浏览器上测试. 二.协议分析 2.1 WebSocket的请求包 首先把原来做Socket通信的程序拿出来,跟踪下浏览器在WebSocket应用请求服务端的时候发的数据包的内容: IE11: GET /chat HTTP/…
Windows平台下Makefile学习笔记(一) 作者:朱金灿 来源:http://blog.csdn.net/clever101 决心学习Makefile,一方面是为了解决编译开源代码时需要跨编译平台的问题(发现一些开源代码已经在使用VS2010开发,但我还没安装VS2010,我想在VS2008下编译这些代码):另一方面源码在服务器端编译的话,使用IDE的方式编译还是不太方便. 本文主要分为三部分:第一部分讲述namke工具使用makefile的用法:第二部分讲述makefile的主要语法:…
本文转自:http://blog.csdn.net/clever101/article/details/8286066 上次我们学习了怎么用Makefile编译一个控制台工程.这次我们学习一下如何使用Makefile来编译一个win 32的GUI程序.win 32的GUI程序其编译过程大部分和控制台程序一样,不同的是多了一步RC编译器将资源文件编译成res文件,然后在最后一步链接中需要把这个res文件链接到exe文件中. 好,现在让我们在实践中学习吧.新建一个win32 应用程序工程——Win3…
作者:Grey 原文地址: http://www.cnblogs.com/greyzeng/p/5559927.html               Ionic2提供了访问本地设备的方法,但是需要安装Cordova依赖,我们以调用摄像头拍照为例来说明: 进入项目目录:cd MyFirstApp npm install ionic-native –save 增加调用Camera的插件:ionic plugin add cordova-plugin-carmera 在Home.html中,增加如下代…
前面曾经讲过,设备I/O的方式有两种:同步和异步.本篇介绍一下同步设备I/O.主要涉及到两个函数:ReadFile和WriteFile. 不要被这两个函数的名称迷惑,不仅可以将这两个作用于文件,也可以作用于其他设备:比如管道.邮槽等. 最简单的设备I/O,可以通过ReadFile和WriteFile这两个函数来实现: BOOL ReadFile(    HANDLE      hFile,         //设备对象句柄    PVOID       pvBuffer,      //读取缓冲…
目前正在阅读毛老师的<windows内核情景分析>一书对象管理章节,作此笔记. Win内核中是使用对象概念来描述管理内核中使用到的数据结构.此对象(Object)均是由对象头(Object Header)组成,实际上由于对象头概念的特殊结构,还有些可选成分.于是一个对象实际上是分为三部分. OBJECT_HEADER对象头. 数据本体(比如文件对象File Object.Event等) 附加信息(比如Object Header Name Info等) 结构如下: //摘录自 Reactos代码…
本文转自:http://blog.csdn.net/clever101/article/details/8147352 决心学习Makefile,一方面是为了解决编译开源代码时需要跨编译平台的问题(发现一些开源代码已经在使用VS2010开发,但我还没安装VS2010,我想在VS2008下编译这些代码):另一方面源码在服务器端编译的话,使用IDE的方式编译还是不太方便. 本文主要分为三部分:第一部分讲述namke工具使用makefile的用法:第二部分讲述makefile的主要语法:第三部分讲述自…
作者:朱金灿 来源:http://blog.csdn.net/clever101 决心学习Makefile,一方面是为了解决编译开源代码时需要跨编译平台的问题(发现一些开源代码已经在使用VS2010开发,但我还没安装VS2010,我想在VS2008下编译这些代码):另一方面源码在服务器端编译的话,使用IDE的方式编译还是不太方便. 本文主要分为三部分:第一部分讲述namke工具使用makefile的用法:第二部分讲述makefile的主要语法:第三部分讲述自己动手实践学习写makefile文件.…
转自:http://www.cnblogs.com/wz19860913/archive/2008/08/04/1259807.html 每个线程都有一个“优先级”,范围是0-31,0为最低优先级,31为最高优先级.当系统决定哪个线程需要调度的时候,首先查看是否存在优先级为31的可调度线程,如果存在,就从中选择一个进行调度.当该线程的时间片到达之后,系统查看是否存在另一个优先级为31的可调度线程,如果存在,就调度它. 只要有一个可调度的优先级为31的线程存在,那么系统绝对不会调度优先级为0-30…
一.背景 公司最近准备将一套产品放到Andriod和IOS上面去,为了统一应用的开发方式,决定用各平台APP嵌套一个HTML5浏览器来实现,其中数据通信,准备使用WebSocket的方式.于是,我开始在各大浏览器上测试. 二.协议分析 2.1 WebSocket的请求包 首先把原来做Socket通信的程序拿出来,跟踪下浏览器在WebSocket应用请求服务端的时候发的数据包的内容: IE11: GET /chat HTTP/1.1 Origin: http://localhost Sec-Web…
win7或者vista默认运行程序是在受限制的环境下运行的,以减轻病毒对于系统的破坏.那么我们怎样才能提升一个进程的权限以至让它在 管理员模式下运行.当然CreateProcess函数没有提供这个功能.相反我们需要调用的是ShellExecuteEx函数:   BOOL ShellExecuteEx(LPSHELLEXECUTEINFO pExecInfo); typedef struct _SHELLEXECUTEINFO { DWORD cbSize; ULONG fMask; HWND h…
在第一次插入USB设备时(笔者用的是自己做的USB最小系统来测试),插入电脑后,在设备管理器中会显示 未知设备,如下图所示: 点击右键,选择属性,在详细信息中可以看到硬件ID以及PID等,如下图所示. 根据手册中的内容,和上述的描述是一致的,如下图所示: 那么先默认安装cypress官网上面的驱动,如下图所示: 打开cyusb3.inf文件,如下图所示: 文件中的各个内容的含义,请参考之前的博客<通用USB驱动程序解析>.保持文中的值,即是安装官方提供默认的驱动文件.   由于CY7C6801…
centos7挂载windows共享文件夹 练习环境:centos7是安装在台式机的虚拟机,Windows共享文件夹是公司服务器的共享文件夹(已设置好的共享) 步骤 1. 设置挂载点:mkdir /mnt/win          #挂载点可以自己根据喜好设置 2.  mount 挂载 mount -t cifs -o username="共享文件夹的登录账户",password="共享文件夹的共享密码"  //192.168.4.245/备份目录  /mnt/wi…
1.为新建变量赋值: set 变量=值 2.输出变量的值 echo %变量% 3.关闭批处理中命令行的显示(默认是显示命令行的) 在文件開始处增加:echo off 若需又一次显示:echo on 若echo命令行本身也不显示.须要使用@echo off 4.系统当前日期 能够使用系统变量Date获取.比如: set now = %Date% echo %now% 结果显示为:2014/04/18 周五 能够安装指定的格式显示日期:如_2014_04_18 set now=_%DATE:~0,4…
手动下载了Symbols,设置好了Symbols File Path,串口连接上了以后,出现ERROR: Symbol file could not be found, 并且会一直不停的出现windbg endIng Service while Service Started这句话, 但是启动服务,在这里能看到打印输出,但是断点调试窗口出不来 解决方法就是在windbg中敲几行命令,步骤如下: 1. 若符号存在D:\DebugSymbols,输入命令: .sympath SRV*d:\Debug…
安装书中第一章成功安装first服务之后,在cmd窗口使用命令行 "net start first" 时, 出现 "发生系统错误 1275.此驱动程序被阻止加载" 后来多方查找,发现问题 WIN7 X64系统中对驱动程序要求有数字签名,否则无法正常使用 解决方法如下: 64位win7禁用驱动程序签名强制 开机之后在登录等待界面按下F8键,进入Windows系统的高级启动项,我们会发现与原有的XP系统多了一些不同的地方,最后一项中为禁用驱动程序签名强制,按照此项进入系…
系统环境:win7 编译环境:Windows Win7 IA-64 Checked Build Environment 按照书中所说的步骤,出现如下问题 后来直接使用光盘源码,编译成功,于是对照源文件, 发现srouces文件中少了TARGETPATH=obj 于是将此句添加至srouces文件末尾,编译还是失败 继续找问题,后来发现build之前将前一次build出来的文件全部删除再build,就成功了 弄习惯c#了,才刚开始弄驱动就觉得忒麻烦,呵呵,坚持就是胜利…
双机联调出现的问题 真机系统win7 虚拟机系统xp 安装书中的配置一步一步走,发现最后启动系统后,windbg一直显示 Opened \\.\pipe\com_1Waiting to reconnect... 找了半天,解决方法如下 在Edit virtual machine settings里看下你那个串口是不是叫Serial port 2,如果是,问题就在这里, 就是多了那个2.你把这个串口删掉,然后把那个printer也删掉,然后重新添加一个串口就可以了, 这个时候串口就叫Serial…
运行cmd:"sc delete first" 删除我们的服务之后, 再次创建这个服务的时候出现 "指定的服务已标记为删除"的错误, 原因是我们删除服务之前没有停止服务,解决方法是 "net stop first"…
书中第一章 成功启动first服务之后, 发现书中并没有介绍删除服务的方式, SRVINSTW工具中的移除服务功能,也无法找到我们要删除的服务, 于是,搜素了下,发现解决方法如下: 在cmd中输入 "sc delete first" first就是对应的服务名称…
1.前言 在嵌入式操作系统中队列是任务间数据交换的常用手段,队列是生产者消费者模型的重要组成部分.FreeRTOS的队列简单易用,下面结合一个具体例子说明FreeRTOS中的队列如何使用. 2.参考代码 参考代码中存在两个任务,任务A和任务B.任务A扮演生产者的角色,任务A不断地向队列中填充内容,填充的内容为一个int16_t类型的变量,填充完之后该变量累加:任务B扮演消费者的角色,任务B不断的从队列中提取内容,并通过串口打印. /* Standard includes. */ #include…
一.流程分析 1.点击播放按钮,会根据lrc名调用LrcProcessor的process()分析歌词文件,得到时间队列和歌词队列 2.new一个hander,把时间队列和歌词队列传给自定义的线程类UpdateTimeCallback,调用handler.postDelayed(updateTimeCallback, 5);启动线程 3.UpdateTimeCallback会在线程执行时用当前时间减去成员变量begin,则可知歌曲播放了多久,再根据此时间与时间队列的时间比较,就是知道此时要显示什…
2019.4.2 线程实现的两种方式 继承线程,复写其中的run方法 实现runnable接口,复写run方法 使用: MyThread target = new MyThread(); new Thread(taget).start(); //或者使用匿名 如下 new Thread(new Runnable() { @Override public void run() { } }).start(); synchronized 同步操作 1. 同步代码块 声明一个互斥锁 static Obj…
写在前面 看<CLR via C#>第四章时,看到了类型对象指针和同步块索引这两个概念,不知如何解释,查看过相关资料之后,在此记录. 类型对象指针 <CLR via C#>中的原话: 任何时候在堆上创建对象,CLR都自动初始化内部的“类型对象指针”成员来引用 与对象对应的类型对象. 在JIT编译器将IL代码转换成本机CPU指令的时候,利用程序集的元数据,CLR提取与代码中类型有关的信息,创建一些数据结构来表示类型本身. CLR开始在一个进程中运行时,利用MSCorLib.dll中定…
1.导致出现安全问题的原因: A:是否是多线程环境 B:是否有共享数据 C:是否有多条语句操作共享数据 2.解决线程安全问题方法: 同步代码块: synchronized(对象){ 需要同步的代码;  }  A:对象是什么呢?   可以使任意对象.  B:需要同步的代码是哪些呢?   把多条语句操作共享数据的代码的部分给包起来 注意: 同步可以解决安全问题的根本原因就在那个对象上.该对象如同锁的功能. 多个线程必须是同一把锁. 3.同步的特点:  前提: 多个线程 解决问题的时候要注意: 多个线…
1 概念 线程是程序执行流的最小单元.线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源.一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行.由于线程之间的相互制约,致使线程在运行中呈现出间断性. 线程包含了表示进程执行环境必须的信息,包括线程ID,一组寄存器值.栈.调度优先级和策略.信号屏蔽字和errno变量以及线程私有数据. 采用多线程的好处: 通过为每…
核心类: 消息消费到达主服务器后需要将消息同步到从服务器,如果主服务器Broker宕机后,消息消费者可以从从服务器拉取消息. HAService:RocketMQ主从同步核心实现类 HAService$AcceptSocketService:HAMaster端监听客户端连接实现类 HAService$GroupTransferService:主从同步通知实现类 HAService$HAClient:HA Client端实现类 HAConnection:HA Master服务端HA链接对象的封装,…
LM3S之boot loader学习笔记-1 彭会锋 (首先声明,此系列文章编写参考了很多资料,其中一些内容是原版内容的引用和整理,并加入了一些自己的见解,我已经尽量标明引用部分,如有未全部标注部分,还望见谅!) 最近项目需要能够对光伏系统监控器和dsp代码进行在线升级,为此特意学习了下lm3s的bootloader编写,程序已经编写调试完毕,特写一下相关的知识点总结,也供各位进行相关参考! 参考网址: http://wapapp.baidu.com/wh2152/item/2e9ee419bb…
作者:Grey 原文地址: http://www.cnblogs.com/greyzeng/p/5575843.html 时间:6/11/2016     说明: 在本文发表的时候(2016-06-11),Ionic2是beta版本,所有还是会有一些改动比较大的地方: 点击查看 , 比如beta8版本(2016-06-06),相较于前面的版本就有一个特别大的改动的地方: @App and @Page should be replaced with @Component 基于这种情况,大家还是静静…
作者:Grey 原文地址: http://www.cnblogs.com/greyzeng/p/5557947.html              Ionic2可以有两种方式来存储数据,Local Storage和SQLite     LocalStorage     因为比较容易访问,所以不适合存比较敏感性的数据 比如可以存储: 用户是否登录的信息. 一些session信息等 具体用法: 进入项目目录:cd MyFirstApp 在主页设置一个按钮,点击按钮,获取LocalStorage的数据…