图解tcp/tp读书笔记 网络层由下往上分为:物理层数据链路层网络层传输层会话层表示层应用层IP -> 网络层 TCP -> 传输层 HTTP FTP TELNET -> 应用层socket是对TCP/IP协议的封装和应用 TCP/IP协议是传输层协议,主要解决数据如何在网络中传输 HTTP应用层协议,解决包装数据在传输数据时,如果只使用TCP/IP协议,没有应用层,便无法识别数据内容,如果想要使传输
关于变量类型 不管是强类型还是弱类型,变量都有两个属性:类型和值不管是哪一种编程语言,其中使用的变量, 都既有强类型,又有值弱类型的变量类型则是不许申明的,由解释器解释,但是若类型也是有类型这个概念, php getType()强制转换并没有改变变量的类型 改变的是变量的类型的值得类型,变量的类型是不允许改变的静态类型 在编译时,数据类型是固定的语言,在声明所有变量之前要声明他们的数据类型动态类型 在执行
C++循环内初始化局部变量 困扰很久的bug,终于彻底顿悟了,废话不多说,先上代码class Pos{ int x; int y;}void main(){ std::vector<Pos> all_pos; for(int i = 0 ;i < 10 ;i ++){ Pos newpos; all_pos.push_back(newpos);
学习感悟 最近又发现很多东西之前自己已经看过相关的文章,了解过,但是遇到问题时,又全然不知。然后去找相关资料,发现这篇文章我之前看过,反反复复,于是乎,获得一些感悟。 之前是为了学习而学习,为了去充实自己,强迫自己去看一些文章,然后获得某种进步的成就感,但是,太过急功近利,没有实践,加上这些知识并没有立马用上,也没有深入了解。同时,自己也并没有再去复习,久而久之,相当于没学。当然,发现问题,然后解决问题。一
网络游戏服务器编程笔记一 大体也忘记是谁推荐给我的这本书了。7层网络通信协议在读大学的时候曾今无数次好奇过这玩意有没有用?从下至上: 1. 物理层 (Phsical) 2. 数据链路层 (Data Link) 3. 网络层 (Network) 4. 传输层 (Transport) 5. 会话层 (Session) 6. 表示层 (Presentation) 7. 应用层(Application)TCP/IPD
线程安全 公司的新的pvp手游项目用了5个线程,分别是:主线程、迷雾线程、日志线程、游戏逻辑线程、Socket。困而知之,所以和大家分享一下。Unity线程优先级(ThreadPriority)优先级越高表示CPU分配给该线程的时间片越多,执行时间就多 优先级越低表示CPU分配给该线程的时间片越少,执行时间就少实际上获得CPU时间长度与很多因素有关,不能仅靠优先级来判断。环形缓冲区不用频繁地分配内存
负载平衡 虽然游戏离正式上线还很久,但是难得的平静心情肯定不能浪费,好好研究下。转自: 维基百科简介在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最优化资源使用、最大吞吐量、最小化响应时间、同时避免过载的目的。负载平衡 建立在现有网络结构上,提供一种廉价有效地方法扩展网络设和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性 和可用性。原理负载平衡通常是一
进程 线程 老生常谈的东西,进程和线程。 记录在云笔记中,也实在忘记当时那些地方搜刮出来的呢,所以就不附上那些一引用地址,拿出来分享,正好温故一下。内核线程内核线程就是直接由操作系统内核支持的线程,这种线程由内核来完成进程切换,内核通过操作调度器对线程调度,并负责将进程的任务映射到各个处理器上。处理器多核处理器就是在一个处理器上继承多个计算核心从而提高计算能力,也就是有多个真正并行计算的处理核心,每一个处理核
Unity AssetBundle,AssetBundleBrower,AssetBundleGraphy总结 前言首先,本人(倒立大帝)能力有限,所讲的不一定对,或者不是最好的方法,如果大家有更好的办法,非常欢迎留言或者给我发邮件(kavengw#gmail.com).首先附上链接AssetBundleBrowser AssetBundleGraphy代码修改文件AssetbundleAssetImporter importer = AssetImporter.GetAtPath(filePath);i
Unite2017技术大会笔记 一个偶然的机会得到一张赠票,记录下一些收货。:)导入模型时,如果勾选read/write会在CPU和GPU中同时分配内存,导致内存翻倍.animationclip改为30FPS比60少一半内存单声道音效shader编译非常消耗CPU所有resource目录下的资源在启动时会构建索引导致启动时间变慢以及占用内存rendertexture无法压缩,内存占用大struct赋值是通过strin
阿里云镜像复制以及ssh无法连接 公司要求,需要新配置一个服务器,毫无疑问,重新配置环境无疑是一个非常坑爹的事情。首先通过已存在的服务器生成一个自定义镜像如果是新创建的服务器,可以直接在选择镜像时选择一个已存在的镜像,如果是已经选择好镜像了,那可以先关闭服务器,再切换镜像。安装好之后,发现只能通过阿里云后台的远程连接,本地通过ssh无法连接。查看ssh状态 使用命令行 systemctl status sshd.servic
Unity粒子效率 转自Unity亚洲开发者研讨会 移动设备上的GPU大多对于三角形级别的Occlusion Culling进行了充分优化,而图元级别的z剔除则会大大降低渲染效率。半透明的粒子系统将无法实现三角形级别的Occlusion Culling,意味着每个图元将被渲染多次,从而降低了渲染效率和电池寿命。即便只有500个半透明粒子也可能将帧率降至7帧,尽可能少的在移动平台上使用粒子效果。
C++ primer plus笔记 一场说走就走的朝圣之旅 虽然之前看过很多次电子版,但这次阅读还是收获颇丰头文件c语言的传统是头文件使用扩展名.h,将其作为一种通过名称标志文件类型的简单方式。 c++头文件则没有扩展名,去掉扩展名h(但c++仍然可以使用这种文件),并在文件名称前面加上前缀c。如果使用iostream而不是iostream.h,则应使用using namespace std;来 iostream中的定义对程
Linux make笔记 make指令target ... : prerequisites ...<tab>command在Makefile中的命令,必须要以[Tab]键开始。make会在当前目录下找名字叫”Makefile”或”makefile”的文件。如果找到,它会找文件中的第一个目标文件(target),并把这个文件作为最终的目标文件。如果目标文件不存在,或是目标文件所依赖的后面的 .o 文件的文件修改时间要比
Linux make笔记 make指令target ... : prerequisites ...command在Makefile中的命令,必须要以[Tab]键开始。make会在当前目录下找名字叫”Makefile”或”makefile”的文件。如果找到,它会找文件中的第一个目标文件(target),并把这个文件作为最终的目标文件。如果目标文件不存在,或是目标文件所依赖的后面的 .o 文件的文件修改
nohup # nohup:stdout输出的nohup.out中。# &:表示守护进程nohup command 等价于# 1表示标准输出 2表示标准错误nohup commond 1>output path重定向到的目录,假如当前目录同时运行多个程序# 2>1& 吧标准错误(2) 重定向到标准输出(1) 而标准输出又重定向到path中nohup commond >path 2>&1
C++ 函数参数笔记 实参与形参类型不匹配时,实参自动转化为形参类型return语句 返回数据的类型与函数类型不匹配时,自动转化为函数的类型函数声明 事先通知编译系统,可以不写形参名 example:float add(float)技巧 编程时把main函数写到最前面,每次需调用函数时都要写函数原型来声明函数 example:void swap(int,int)参数 指针作为函数参数 声明 void s
C++ std::thread笔记 threadvoid my_thread(){ puts(“hello,world")}int main(int argc,char* argv[]){ std::thread t(my_thread) //t.join()//等待子线程t执行完成之后,主线程才会继续执行,此时主线程会释放掉执行完后的子线程资源 //t.detach()将子线程从主线程里分离,子线程执行完成后自己释放掉
C++ 库笔记 静态库lib a 需要配合头文件使用静态链接库就是把文件中用到的函数代码直接连接进目标程序, 程序运行的时候不再需要其它的库文件静态lib将导出声明和实现都放在lib中,编译后所有代码都嵌入到宿主程序在链接阶段,静态库会将汇编生成的目标文件.o与引用到的库一起链接打包到可执行文件中,一次对应的链接方式成为静态链接。静态库与汇编生成的目标文件一起链接为可执行文件,所以静态库必定和.o文件格式相似。其