通过前两章,我们成功是写出了一套凑合能用的Server和Client,并在二者之间实现了通过协议交流.这么一来,一个简易的socket通讯框架已经初具雏形了,那么我们接下来做的.就是想办法让这个框架更加稳定.茁壮~ 作为一个可能会和非常多Client进行通讯交互的Server.首先要保证的就是整个Server执行状态的稳定性,因此在和Client建立连接通讯的时候,确保连接的及时断开非常重要,否则一旦和多个client建立不关闭的长连接,对于server资源的占用是非常可怕的.因此,我们须要针对…
在上一章我们做出来一个最基础的demo后,已经能够初步实现Server和Client之间的信息交流了~ 这一章我会介绍一下怎么在Server和Client之间实现一个简单的通讯协议.从而增强整个信息交流过程的稳定性. 在Server和client的交互过程中,有时候非常难避免出现网络波动,而在通讯质量较差的时候,Client有可能无法将信息流一次性完整发送,终于传到Server上的信息非常可能变为非常多段. 例如以下图所看到的.本来应该是分条传输的json.结果由于一些原因连接在了一起,这时候就…
为了将我们写好的Server公布到server上.就要将我们的代码进行build打包.这样假设以后想要改动一些代码的话.须要又一次给代码进行编译打包并上传到server上.     显然,这么做过于繁琐. ..因此常见的做法都是将Server执行中可能会频繁变更的变量.数值写入配置文件里.这样直接让程序从配置文件读取參数,避免对代码频繁的操作.     关于配置文件的格式,在这里推荐YAML 和XML~ XML是传统的配置文件写法,只是本人比較推荐yaml,他比XML要更加人性化,也更好写,关于…
前言: 之前我们提及了怎样使用Maven来创建.管理和打包项目,也简单过了一遍Linux中搭建Java开发环境的步骤,如今我们就開始将我们之前开发的项目demo公布到Linux环境下.并让它正常执行起来. 公布思路: 使用Maven将项目打包为.jar 将项目的.jar和项目全部依赖的jar包都拷贝到Linux下 创建项目启动脚本来启动项目 准备工作: 查询Linux系统机器的Ip地址:方法非常easy,在Linux中打开终端输入ifconfig就可以查到Ip地址为192.168.35.130:…
一句话提要 好的開始等于成功了一半. 创建文件夹结构 project文件夹下最好分为以下几个文件夹 Docs - 开发文档,设计文档 Assets - 角色,动作,模型和音效等 Source - 代码,project文件或者makefile也放在这里,假设有引用第三方的lib,在里面建立一个3rdParty的文件夹,放在里面. Temp - 用于防止编译生成的文件 Lib - 放置编译好的lib文件,将source编译成lib能够更好地保护源码. Game - 用于放置release buid,…
从零開始怎么写android native service Android service对于从事android开发的人都不是一个陌生的东西,非常多人可能会认为服务非常easy. 服务是简单,由于复杂的别人做了,所以才会认为简单.我们先梳理一下服务的分类,首先有本地服务跟系统服务的区分.而在APP里写的服务大多就成为Java服务或者应用服务. /****************************************************************************…
多谢大家关注 转载本文请注明:http://blog.csdn.net/leonwei/article/details/8880012 本文将作为我<从零開始做OpenCL开发>系列文章的第一篇. 1 异构计算.GPGPU与OpenCL OpenCL是当前一个通用的由非常多公司和组织共同发起的多CPU\GPU\其它芯片 异构计算(heterogeneous)的标准,它是跨平台的.旨在充分利用GPU强大的并行计算能力以及与CPU的协同工作,更高效的利用硬件高效的完毕大规模的(尤其是并行度高的)计…
Hadoop 2.7.1 (2015-7-6更新),Hadoop的环境配置不是特别的复杂,可是确实有非常多细节须要注意.不然会造成很多配置错误的情况.尽量保证一次配置正确防止重复改动. 网上教程有非常多关于Hadoop配置的,可是每个教程都相应了一个版本号信息.有一些教程也存在非常大的问题,配置环境,系统环境都没说清楚.在此我将记录下来从零搭建Hadoop2.7.1的过程,以及搭建过程中所遇到的一些问题. 一 操作环境说明 1.1 :操作系统: window8.1 1.2 :虚拟机版本号:VMw…
Bmob移动后端云服务平台--Android从零開始--(二)android高速入门 上一篇博文我们简介何为Bmob移动后端服务平台,以及其相关功能和优势. 本文将利用Bmob高速实现简单样例,进一步了解它的强大之处. 一.准备工作 1.注冊Bmob账号 在网址栏输入www.bmob.cn或者在百度输入Bmob进行搜索,打开Bmob官网后.点击右上角的"注冊",在跳转页面填入你的姓名.邮箱.设置password,确认后到你的邮箱激活Bmob账户.你就能够用Bmob轻松开发应用了. 2.…
<PHP 5.5从零開始学(视频教学版)>当当网购买地址: http://product.dangdang.com/23586810.html <PHP 5.5从零開始学(视频教学版)>源码.教学视频下载地址: http://pan.baidu.com/s/1zt9hW 内 容 简 介 本书循序渐进地介绍了PHP 5.5开发动态站点的主要知识和技能,提供了大量的PHP应用实例供读者实践.每一章节都清晰讲述了代码作用及其编写思路,使读者能在最短时间内迅速掌握PHP的应用开发技能. 全…
自学Android一个月多了,一直在工作之余零零散散地看一些东西.感觉经常使用的东西都有些了解了,可是一開始写代码总会出各种奇葩的问题.感觉还是代码写得太少.这样继续杂乱地学习下去进度也太慢了,并且学一点忘一点,效率太低.所以从今天開始.我打算实际做点小程序.在开发中不断地学习吧. 恰好近期Android上有个游戏2048比較火,所以就那这个练手吧. 由于对Android还没有太深入的了解,所以我写的东西都会比較基础,所以须要看一些高阶开发的朋友能够绕过了,也希望能够有高手们给我一些指导和建议,…
从0開始写MyScrollView 上篇文章对ScrollView的详细实现进行了分析.本文依据上篇分析的结果.自己动手写一个ScrollView. step1 尾随手指滑动,非常easy.重写2个函数就好了 简单的滑动,仅仅要重写onTouchEvent就能够了.然后我们须要内部的LinearLayout高度能够超出MyScrollView,那就在measure过程中进行处理,重写measureChildWithMargins就能够了. /** * Created by fish on 16/…
上节课,也就是昨晚啦,我们学习到从零開始学Swift之Hello World.那一节仅仅有一句代码,大家会认为不够过瘾. 那么这节课,就给大家来多点瘾货吧! 先上图! //var 代表变量的类型, start 代表变量的名称. "Hello" 代表变量的值. var start = "Hello" var dot = " , " var end = "world!" // let 是什么意思呢? let total = sta…
大家好: 苹果2015WWDC大会公布了Swift2.0,它较之前的版本号Swift1.x有非常大的变化.所以我即将出版<从零開始学Swift><从零開始学Swift>将在<Swift开发指南>第1版的基础上加入Swift2.0的内容,同一时候摒弃第1版的一些不合理的内容.使得本书更加适合Swift开发人员.我将连续发一些<从零開始学Swift>的学习笔记,有兴趣者,能够看一下. 书中源码下载地址:http://51work6.com/swiftbook1.…
Bmob移动后端云服务平台--Android从零開始--(一)何为Bmob 在正式的项目开发中,单client不能满足我们的需求,须要实现client与服务端的连接. 而在编写Android服务端代码时,经常有非常多问题困扰这我们.问题就来了,怎么能通过过简单的方式去实现我们复杂的流程呢?Bmob移动后端服务平台给我们创造了一个非常好的后端平台.以下就让我们一起来了解和学习Bmob. 官网地址:http://www.bmob.cn/ Android SDK:http://www.bmob.cn/…
版权声明:本文为博主原创文章,未经博主允许不得转载. 第一次跑到互联网公司实习 ..感觉自己进步飞快啊~第一周刚写了个HTTP服务器用于微信公共号的点餐系统~ 第二周就直接开始一边自学Go语言一边写用于Socket的服务器了... 因为发现Golang这一块资料挺少的,接下来我会在Blog里把整个Server的Coding,还有遇到的坑都记录下来~ 在golang中,网络协议已经被封装的非常完好了,想要写一个Socket的Server,我们并不用像其他语言那样需要为socket.bind.lis…
原文发表在我的个人站点,欢迎大家訪问~转载请保留本段,或注明原文:http://www.hainter.com/website-primer-4 域名解析设置好了,通常我们就能够訪问我们的网站了,上篇里面没有具体讲server绑定域名的过程,可能不够清楚,这篇里面再做一下介绍.同一时候对server端的配置进行介绍(因为各种server各不同样,这里也没法一一介绍,就依据我的经验,做个大致的说明). 1.域名解析知识补充:server空间对域名的绑定 首先你有一个server空间,一般是一个虚拟…
引言 在之前的文章中,我们介绍了怎样使用Scala IDE也就是eclipse中集成的Scala开发插件来进行Scala语言程序的开发,在使用了一段时间之后,发现eclipse对Scala的支持并非非常好.用户体验比較差.比方联想速度比較慢等.因为在公司一直使用的Scala开发工具是Intellij IDEA(好吧.事实上我使用Scala IDE的目的就是想试一下这两个各有什么优缺点),各方面感觉还不错,所以在此介绍一下这个开发环境. Intellij IDEA是jetbrain开发的一个IDE…
前面介绍了域名相关知识.这里介绍server,也经常被叫做空间.也就是站点数据实际保存的地方. 1.整体介绍 依据国家相关规定,国内server空间须要进行备案.也就是到相关的机构进行登记.详细方法能够网上找.域名也有备案一说.国内域名不备案可能会被禁用. 国外的域名和server.一般就不须要备案了. 国外server的一大缺点是速度一般比国内server慢,有些甚至差点儿没有速度. (1)自己搭建server server事实上也就是配置比較高的电脑.装了适合做server的操作系统,安装了…
经过前面四个版本号的迭代.我们已经制作了一个从视觉和听觉上都非常舒服的H5微场景应用,没有看过的请戳以下: V1.0--简单页面滑动切换 V2.0--多页切换.透明过渡及交互指示 V3.0--增加loading,music及自己主动切换 V4.0--增加文字并给文字加特效 可是,还没有完,这一次,我们将做一些十分重要的收尾工作,才干真正完毕我们的第一个H5应用.所以.let's do it! 任务 1.增加懊悔机制--页面上滑切换功能: 2.整理文件夹 3.压缩样式与脚本文件 4.模板化 分析…
在android中有五种保存数据的方法.各自是: Shared Preferences Store private primitive data in key-value pairs. 相应属性的键值对属性文件存储 Internal Storage Store private data on the device memory. 设备内存存储 External Storage Store public data on the shared external storage. 外部存储器存储,如内…
让我们一起打开以下这个链接 https://github.com/alexeyxo/protobuf-objc 在github上有protobuf-objc,当中的readme能够教会我们安装proto到咱们电脑里面.然后利用protoc,也就是protobuf的编译器能够编译.proto文件,生成一些.h和.m文件. 在移动App中.使用protobuffer能够做储存,能够做网络传输,能够干非常多和数据打交道的事情. 最简单的.增加做一个APP.你要记录用户数据对吧?用户账号是?passwo…
1.WordPress站点前后端经常使用语言简单介绍和执行过程 通常一个站点的整个构建过程中须要大量的技术支持,尤其是用到非常多种计算机语言.站点的构建主要分后端和前端两部分,后端代码在server上执行.而前端程序源代码则通过网络传输到用户的浏览器,由浏览器执行.WordPress站点的页面属于动态页面,也就是说页面是程序动态生成的,不同的人.不同一时候刻訪问同一个网址相应的页面,看到的内容是不一样的.和动态页面相对的是静态页面,静态页面的扩展名通常是html.不须要后端语言动态的生成网页.…
对于server的搭建和设置.我在这里就不再多说了.有好多前辈已经帮大家攻克了.能够參考下这篇博客 XMPPserver配置 我依照这个博客配置好了,server后,然后在网上參照代码写了一个小的demo,可是发送网络请求的时候发现没有收到验证password的回调.刚開始的时候我怀疑是自己的代码写的有问题,但总共就那几句代码.我看了N多遍.也没有发现问题的所在,后来加了几个QQ群,在群里问了一下也没有问出个所以然来,,我又開始怀疑自己的server的搭建有问题,看了上面前辈的博客.发现自己的都…
这一篇的内容主要是在上一篇的基础上,增加分数计算(包含当前分数和最高分数).游戏结束的推断以及游戏界面的重置这三个部分的功能. 一.分数的计算和保存          首先,2048这个游戏的分数包含,两个部分当前游戏分数和最高分,当前的游戏分数我们能够保存在程序的变量中,由于它仅仅对当前这盘游戏实用,游戏结束就能够清空:而最高分则须要以一种方式保存在手机中,这样当我们下次再打开游戏时,还能读取到之前操作的最高分. 1.当前分数         当前分数的计算还是非常easy.我们仅仅须要在每次…
MediaPlayer除了能够对音频播放之外,也能够对视频进行播放,可是假设要播放视频仅仅依靠MediaPlayer还是不够的.还须要编写一个能够用于视频显示的空间,而这块显示空间要求能够高速的进行GUI的更新,并且能够在渲染代码时进行无堵塞的的对GUI进行渲染,而假设要完毕此种功能,则必须依靠android.view.SurfaceView组件完毕.SurfaceView组件封装了一个Surface对象,而不是一个Canvas对象,使用Surface能够完毕对后台线程的控制,对于像视频.3D图…
前面说了非常多废话.如今最终转到正题.WordPress的安装. 1.WordPress安装非常easy 假设你的server能通过应用中心一键安装WordPress,这一节就非常轻松了,基本上不须要做什么.可是考虑到那种新手的方式,以后假设换了server可能就不能进行安装了.而且有些需求还是不能用那种方式实现,所以学一下也好(主要是配置数据库.FTP,然后上传文件.过程相当简单). 仅仅要server支持php而且配置了数据库和FTP,安装WordPress是非常easy的. 前面我们配置好…
Java线程:概念与原理 一.操作系统中线程和进程的概念 如今的操作系统是多任务操作系统.多线程是实现多任务的一种方式. 进程是指一个内存中执行的应用程序.每一个进程都有自己独立的一块内存空间.一个进程中能够启动多个线程. 比方在Windows系统中.一个执行的exe就是一个进程. 线程是指进程中的一个执行流程.一个进程中能够执行多个线程.比方java.exe进程中能够执行非常多线程. 线程总是属于某个进程,进程中的多个线程共享进程的内存. "同一时候"运行是人的感觉,在线程之间实际上…
今天是尝试開始Android版2048小游戏的第二天.在今天,我主要学习了怎样获取用户在屏幕滑动的手势,以及对布局进行了一些小小的完好. 获取用户操作的手势(比方向左滑.向右滑等)主要用到了GestureDetector.这个类能够帮助我们获取一些常见的用户对屏幕的操作.比如单击.双击.按压.拖动等.详细的使用说明.大家能够查API也能够去百度,或者看我之前有一篇使用GestureDetector实现的小样例(http://blog.csdn.net/xiapinnong/article/det…
先来看两个问题:路线规划与导航有什么差别?步行导航与驾车导航有什么差别? 回答: 1.路线规划,指的是为用户提供3条路线推荐.[高德]在提供路线规划的时候,会提供用户自己定义路线规划功能,这是别家没有做到的.导航.指的是为驾车用户提示路口信息,向左向右.进入匝道等信息. 2.我们这里说的步行导航和驾车导航,严格的说,应该是路线规划.从A地到B地,假设是驾车,路线规划会将公路路网做为搜索数据:假设是步行.过街天桥.地下通道.人行道做为搜索数据. --------------------------…