自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(95)
  • 资源 (6)
  • 收藏
  • 关注

原创 【Java开发】Java对象循环遍历赋值,值全部为一样且为最后一个对象的值-问题解决

Java开发的坑

2023-04-20 15:20:41 1326

原创 UE4.23打包H5项目手机浏览器无法启动

UE4.23发布H5移动端无法打开

2023-03-21 11:17:07 1167

原创 【前后端对接迷惑问题】无法加载响应数据:No resource with given identifier found

无法加载响应数据:No resource with given identifier found

2023-03-03 09:37:25 22859

原创 【Arduino项目开发笔记1】解决Arduino-Nano与以太网W5500模块开发问题

引言最近接触到Arduino模块的开发,并且模块的主要使用场景是机房,因此选择使用以太网W5500模组使得数据能够通过网线稳定而快速地将数据上传到外网。在开发的过程中发现,Arduino模块的库示例代码配套使用的是W5100模块。网上的教程依然五花八门,有的说W5500的API与W5100的是一样的,也有的说官方WIZ550io与国内W5500模组的设计区别,导致W5500模组不能自动写入MA...

2020-03-18 11:36:28 3932 2

转载 【TypeScript学习笔记1】WebStorm 2019环境下配置TypeScript项目【非原创】

引言大概对JavaScript脚本语言了解以后,开始向JS的超集也就是TypeScript领域进军,此篇笔记是参考Cr博主的TypeScript - (二) 在WebStorm中创建和配置TypeScript项目本人编写本博文的用意:2019版本下的WebStorm配置TypeScript资源少,并且作为本人学习笔记,不作其他用意。运行原理运行原理都一样,安装好node,TypeScrip...

2020-02-26 12:14:48 1104 4

原创 【Android开发实践笔记2】解决自定义View类往Activity类传值问题

引言在公司的项目中,遇到使用Android APP实现功能,并且需要在DEMO的自定义View中传值到Activity中处理。虽然方法肯定很多,但是刚刚入门的我在这里记载一种个人亲测可行的好方法:定义一个接口,activity监听接口,在自定义view里面回调具体代码实现1、在类Test中定义一个接口//在自定义的View类中public interface Propose{ //实现...

2020-02-24 11:15:48 809 1

原创 【Android开发实践笔记1】解决Android定时器无法关闭/停止问题

引言公司有一个项目需要Android APP应用实现,原嵌入式开发出身的我,为了完成公司的项目,也参与了Android的研究。由于并没有学习过Java,以及Android,在开发过程中也请教了不少身边专注这方面的同学以及朋友,首先在此表示感谢。问题引入在开发过程中,需要改写DEMO代码实现功能,遇到了一个虚拟摇杆代码,其工作思路是这样的:虚拟摇杆检测到手指按下,并且向前,则开启定时器以30...

2020-02-24 10:59:52 1460

原创 【JavaScript学习笔记18】JS对节点操作(增删改查)

引言上一篇笔记已经详细介绍了获取节点的方法,那么获取到节点的目的无非就是要操作这个节点,比如说设置节点的属性,修改节点的属性,甚至增加节点,删除节点等操作。本篇笔记主要记录对节点的操作。增加节点使用方法:document.createElement(想要创建的标签属性)<body> <div id ="box"> <p>原来就有的...

2020-02-14 17:28:53 428

原创 【JavaScript学习笔记17】通过DOM节点-获取父节点、兄弟节点以及子节点

引言通过前面笔记DOM的介绍,DOM的数据结构是一种树形数据结构,因此可以使用DOM获取对象(元素),然后对该对象的属性以及样式进行设置以及更改,甚至可以动态创建以及删除对象。总结来说就是:通过DOM获得父节点,兄弟节点进行操作节点的获取所有节点都是文档对象的属性DOM的节点都不是孤立的,因此可以通过DOM之间的相对关系进行访问获取父节点(parentNode)方法:使用节点对象...

2020-02-14 11:55:36 1508

原创 【JavaScript学习笔记16】JS中事件的三要素(以最简单的点击事件为例)

引言JS本来就是以事件驱动为核心的一门语言,很多控件以及布局都是基于事件的基础,包括上一章介绍的document对象,本质上就是在处理事件。事件三要素事件源:获取事件源函数功能document.getElementById通过id获取事件源document.getElementsByClassName通过类名获取事件源document.getElem...

2020-02-13 15:38:13 621

原创 【JavaScript学习笔记15】JS中window对象与document对象

引言通过上一篇笔记可以了解到JS的网页开发中离不开DOM与BOM。那么在开发的过程中,对网页的窗口的设置,归根到底是使用window对象来实现的,而在JS页面中的一些特效操作,也就是对document对象进行操作。因此,本篇笔记主要记录window对象以及document对象。window对象window对象既是ECMAscript规定的全局global对象,又是JS访问浏览器窗口的一个接口...

2020-02-13 12:27:59 593

原创 【JavaScript学习笔记14】BOM(浏览器对象模型)与DOM(文档对象模型)简介

引言JS在浏览器的开发中,离不开BOM与DOM的使用。本篇笔记开始记录浏览器网页窗口的操作与设置(BOM),以及网页中的一些特效功能(DOM),首先要了解一下BOM与DOM。BOM(Browser Object Model)BOM:浏览器对象模型功能:提供了独立于内容,直接与浏览器窗口进行交互的对象主要用于管理窗口与窗口之间的通讯,因此其核心对象是windowBOM由一系列相关的对象构...

2020-02-13 11:53:11 413

原创 【JavaScript学习笔记13】JS中的内置对象(数组中的API)

引言内置对象,在JS中本身已经为我们程序员写好的对象。对于内置对象,我们直接使用就可以,不需要再定义。比如说:Date,Array,Math,Error,String等,这里以Array的一些API为例子作介绍。JS的数组基础:数组的创建与使用数组Array的API- sort() :功能:自动排序,默认是升序排列使用方法:sort(function(a,b){return a-b /...

2020-02-12 12:13:31 233

原创 【JavaScript学习笔记12】JS构造函数补充-Constructor 返回对象的”祖宗“和 Prototype属性动态添加对象属性

引言在使用构造函数创建对象的时候使用的方法是:var test = new Object();实质上是在其“祖宗”上创建一个对象,因此作为一个"祖宗"对象都拥有的属性是:constructor,prototype属性Constructor属性属性定义:返回对创建此对象的函数的引用使用方法:当我们在开发的过程中遇到一个对象,并不清楚其实那个函数创建的时候,可以调用constructor属性知...

2020-02-11 11:51:25 339

原创 【JavaScript学习笔记11】JS使用构造函数Object()创建对象

引言在很多语言中创建对象都是通过类实例化出来,在JS中可以将构造函数理解为类,通过构造函数产生很多对象。构造函数与普通函数的区别:普通函数不能产生对象,构造函数可以产生对象。因此,可以产生对象的函数都是构造函数。构造函数创建对象方法1例1://1、构造函数 function Student() { var obj = new Object(); //所有对象...

2020-02-11 11:29:06 1349

原创 【JavaScript学习笔记9】JS中的对象简介与字面量对象

引言讲到对象,我第一个想到而是过年亲戚问我有没有对象。其实,亲戚口中的对象跟我们JS中的对象是一模一样的,因此,JS中的对象跟自己生活中的对象一样重要。学好JS对象,找个对象不成问题!面向对象和基于对象面向对象基于对象可以创建自定义的类型,很好的支持继承和多态。无法创建自定义的类型,不能很好的支持继承和多态语言:C++,java,C#JavaScript...

2020-02-11 10:38:56 173

原创 【JavaScript学习笔记10】JSON简单介绍

引言在开发过程中,要涉及到数据的传输以及交互都会看到JSON。尤其是前端开发的时候,数据不是固然不变的,因此需要前端与服务器进行数据的交互,数据传输的格式就是JSONJSON与XMLJSONxml轻量级的数据交换格式标记电子文件使其具有结构性的标记语言优点:灵活,简单,体积小,效率高描述清楚缺点:没有错误处理体积过大,传输不便JSON书写格式J...

2020-02-11 10:38:18 161

原创 【JavaScript学习笔记8】JS中变量的作用域(面试常考点)

引言无论是在JS还是在其他编程语言中,变量都有特定的作用域。引入一个叫块级作用域的说就是,任何一对花括号中的语句都属于一个块,在这里面定义的所有变量在代码块外都不可见的。但是JS与其他编程语言在这方面还是有所差别这里仅仅简单介绍全局变量与局部变量,详细记录JS中需要注意的变量作用域。JS中的全局变量JS中的全局变量指的是:定义在script或者不属于某个函数的变量例:上面例子中的n...

2020-02-07 15:34:42 188

原创 【JavaScript学习笔记7】JS中的匿名函数(绑定事件函数,定时器,自调用函数)与回调函数

引言JS中经常会涉及到很多匿名函数,其中常见于绑定事件函数,定时器函数,以及自调用函数中。而掌握这些函数还是非常必要的。同时,回调函数也经常会出现在我们的一些面试题目中。匿名函数简介匿名函数:没有命名的函数绑定事件函数简单介绍一下绑定事件:当需要开发手机端或者移动端的程序的时候,有一个界面程序。当一些按钮或者界面被使用者点击或者触摸的时候,往往需要调用一些绑定事件的函数生效。例:do...

2020-02-07 11:36:19 1369

原创 【JavaScript学习笔记6】JS中函数的声明与调用,Arguments对象的使用

引言函数在JS中的角色定位,就是完成特定代码的一个集合。比如说要实现一个求余功能,在A代码块里面要使用,B代码块也要使用,那么为了给我们的代码增加健壮性,可以将求余功能封装成一个函数,当需要求余的时候,直接调用函数即可。即:将复杂的事情简单化JS中函数常见的声明方式函数声明方式function函数名(参数1,参数2,...){函数体}例: //定义函数 funct...

2020-02-07 11:17:07 200

原创 【JavaScript学习笔记5】JS中的数组创建与使用

引言在日常的开发中,我们需要一种数据类型可以存放很多的数据,并且能够满足程序员的增删改查的操作,这种数据类型就是数组数组的创建使用Array构造函数创建var name = new Array();例: //创建一个空数组 var name = new Array(); console.log(name); //创建一个长度为20的数组 va...

2020-02-07 10:31:36 519

原创 【JavaScript学习笔记4】JS中的数据类型转换

引言在开发的过程中,经常会涉及到类型的转换,比如数字类型与字符串类型互相转换等,在JS中拥有很多内置方法实现数据类型的转换,不需要自己额外去编写,直接调用即可。其它类型转成字符串类型toString()例: //数字类型转字符串 var num = 111; console.log(num); console.log("the type of num:"+...

2020-02-06 15:15:48 165

原创 【JavaScript学习笔记3】JS中的数据和数据类型

引言程序员归根到底就是跟数据打交道,但是区别于其他的语言,JS脚本语言的数据类型还是有所不同的。因为程序在运行的过程中会产生各种各样的临时数据,为了方便数据的运算以及操作,JS中有六种数据类型,分为两大类:简单数据类型与复杂数据类型。简单数据类型与复杂数据类型众所周知,数据的存放都在内存中,在内存中有堆和栈。简单的数据类型存放于栈复杂的数据类型存放于堆简单的数据类型有:Numbe...

2020-02-06 12:47:16 220

原创 【JavaScript学习笔记2】JS中常见的输出方式-控制台输出信息

引言在编程开发的过程中,输出信息是非常必要的。JS中提供了三种输出方式:弹出显示框、控制台输出、弹出输入框弹出显示框这种方式在上一篇笔记中已经详细介绍,有需要学习的朋友可以跳转到第一篇笔记学习:【JavaScript学习笔记1】JavaScript书写格式-编写第一个JavaScript程序控制台输出使用console.log() / console.warn() /console.er...

2020-02-06 10:55:46 2861

原创 【JavaScript学习笔记1】JavaScript书写格式-编写第一个JavaScript程序

引言学习一门新的编程语言,首先第一步要熟悉语言的编写环境,编写格式,语法等。JavaScript的学习与开发,本人使用的是Webstorm软件。JavaScript有三种书写格式,分别是:“行内式”,“页内式”,“外链式”。行内式比如要在网页内输出一个button:<button οnclick="alert('Hello!');">Hello world </butt...

2020-02-06 10:33:25 500

原创 【Linux学习笔记62】UNIX域套接字

引言在之前的笔记写的socket笔记,是通信方式中的一种扩展,前面笔记的socket都使用地址IP实现通信。实际上,socket可以使用在不需要IP的场合,即本地通信。(与进程间的通信(一)(匿名管道与有名管道)一样)UNIX域套接字相比于前面的管道等提供的信息更多,比如:UNIX域可以等待对端的连接(与TCP类似),又可以实现帧同步(UDP类似)本地域套接字的使用字节流本地域套接字(不提...

2019-09-25 17:00:55 283

原创 【Linux学习笔61】广播与组播

引言广播与组播,顾名思义就是一对多进行通信的关系。那么很容易理解就是,TCP是点对点的单播通信,只有UDP中才存在广播与组播。广播同时将数据发给局域网中的所有主机,称之为广播。广播地址:以192.168.1.0(255.255.255.0)为例子,最大的主机地址为:192.168.1.255代表该网段的广播地址。因此我们能只需要发到该地址的数据包就可以让整个局域网的主机都接收。255...

2019-09-25 16:27:36 374

原创 【Linux学习笔记60】网络的带外数据(紧急数据)

引言只有TCP才有带外数据,UDP是没有的。网上也有一种说法,TCP没有真正意义上的“带外数据”。这种说法的由来是在TCP协议中,服务端与客户端之间都通过管道传输数据,比如传输的数据是1字节,没有超过socket中设置的缓冲池的限制的话,这个数据是要等到数据达到缓冲区上限才可以到达对端的。而“带外数据”也并没有什么捷径,也是一样通过这种方法到达对端,只不过会将其标志为紧急数据,提前让对端释放...

2019-09-25 15:49:41 361

原创 【Linux学习笔记59】超时控制的四种方法

引言在网络的配置中,有两个概念分别为:阻塞,非阻塞。阻塞情况下,当读一个socket套接字,即使没有数据也会一直等待。而非阻塞情况下,当读一个socket套接字,只会检测一瞬间,如果没有数据就离开,有数据则读出。这两种都是比较极端的方法,因此就有一个中间状态:超时控制。超时控制会是比较常用介于阻塞与非阻塞的一种方法,既不是无限等待数据的到来,也不是只等待一瞬间,可以设置为5分钟或者10分钟都可...

2019-09-24 20:46:23 616

原创 【Linux学习笔记58】套接字的属性

引言套接字与文件描述符一样,都拥有很多特性,那么本篇笔记主要记录一些套接字的属性以及设置。套接字的属性名称属性SO_BROADCAST允许发送广播数据SO_DEBUG允许调试SO_DONTROUTE不查找路由SO_ERROR获得套接字错误SO_KEEPALIVE保持连接SO_LINGER延迟关闭连接SO_OOBINLINE...

2019-09-24 13:55:49 957

原创 【Linux学习笔记57】TCP服务器IO模型之多路复用(二)SELECT函数

引言接着上一篇笔记的POLL函数实现TCP服务器的多路复用,本篇笔记主要是以SELECT函数实现服务器的多路复用。实现思路socket中有四个描述符,本质上都是阻塞,并且阻塞在一个端点上因此,使用文件描述符集合fd_set将关心的描述符放入集合中然后通过使用Select函数监听这个集合中的描述符Select函数会不断的变化,因此当有连接来访问以及数据同时访问的时候,listenfd...

2019-09-20 17:18:17 327

原创 【Linux学习笔记56】TCP服务器IO模型之多路复用(一)POLL函数

引言上一篇笔记介绍了多种TCP服务器处理多套接字的方法,本篇笔记主要内容是记录实现TCP服务器多路复用的POLL函数的使用方法。实现思想poll函数的原理假设服务器中有三个不同的套接字负责不同的任务为每个套接字建立独有的pollfd结构体并且在结构体中拥有events存放结构体负责的事件:读事件,写事件,报错事件等将以上的所有结构体组成一个结构体数组作为poll函数的参数以供使用...

2019-09-20 14:35:17 513

原创 【Linux学习笔记55】TCP服务器IO模型之非阻塞轮询

引言之前都介绍了多线程,多进程的方式解决各种TCP服务器的问题。那么本篇笔记主要记录单进程非阻塞的方式处理TCP服务器的服务。使用的方法就是轮询的机制处理,虽然这种方法很少使用,因为其占用的CPU资源很多,但是还是很有必要了解一下。各种模型的理解图第一种是前面笔记的多线程TCP服务端之简易QQ/多进程处理TCP服务器IO模型之并发阻塞处理多任务的方式第二种是本篇笔记的主要内容,单进程要...

2019-09-18 21:14:52 491 4

原创 【Linux学习笔记54】多进程处理TCP服务器IO模型之并发阻塞

引言这一篇笔记主要记录在TCP服务器中,如果连接端点都是阻塞的,我们应该如何处理。TCP是面向连接的,在服务端中,需要先进行连接,再通信。因此就存在一个监听套接字,专门监听对端的连接请求。那么,当存在多个对端的连接请求的时候,当达到服务器的连接上限后,如果服务器要读其中一个端的数据的时候,就不能做其他事情,只有当一件事完成后才能做下一件事,也就是存在阻塞。为了解决这个问题,我们可以使用多进程来...

2019-09-18 00:26:47 307 2

原创 【Linux学习笔记53】UDP服务器IO模型之信号驱动

引言上一篇笔记简单介绍了UDP协议的用法,这篇笔记主要是使用信号驱动的方式获得IO的数据。那么,这种方式只使用于UDP,==并不适用于TCP。==因为,TCP需要建立连接,每产生一个事件都会触发信号,比如说连接,连接确认,数据确认,断开连接等事件,都会触发信号。因此,TCP对应的事件过多,需要大部分精力解释信号。UDP异步信号的工作方式在应用层中会创建UDP的套接字,并且使用该套接字与硬...

2019-09-17 20:59:56 465

原创 【Linux学习笔记52】socket编程之UDP协议

引言TCP是一种有连接的网络协议,UDP是一种无连接的通信网络协议。两者相比之下,UDP会显得简单些。本篇笔记主要记录UDP协议的实现。实现思路服务器创建套接字服务器套接字绑定ip地址以及端口号与TCP连接不同的是,UDP使用recvfrom()函数来等待接收数据,而不能使用TCP中的read()函数。因为read只有数据,没有地址。UDP每次连接都需要有地址,因此使用recvfro...

2019-09-17 14:59:09 247 1

原创 【Linux学习笔记51】多线程TCP服务端之简易QQ

引言本篇笔记主要记录使用多线程的方式来实现,多个客户端之间进行通信,由服务器将信息进行转发。运行原理使用链表管理客户端主线程主要负责等待连接,当有客户端1连接,在链表创建新的节点,并且创建新的线程s1负责与客户端进行通信。客户端2连接时,也会创建对应的线程负责。s1子线程等待客户端发送数据客户端1中的s3负责等待键盘键入的数据,然后线程s2负责将键入的数据发送到服务器中服务器s1...

2019-09-15 23:49:18 230

原创 【Linux学习笔记50】socket编程之TCP协议

socketsocket的意思是插座,插口的意思。那么在网络编程上,也顾名思义:两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。建立网络通信连接至少要一对端口号(socket)。socket也为TCP/IP等协议提供了开发的接口。网络编程的流程:OSI模型与TCP/IP协议的对应关系如图所示socket在上面的关系中充当接口(蓝色)socket提供...

2019-09-14 23:29:24 199

原创 【Linux学习笔记49】线程池机制

引言线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。如果一个程序任务比较多,那么我们可以使用多线程来分担任务,但是并不是线程越多越好,虽然创建的线程被称为轻量级线程,但也占用资源。因此,需要线程池机制来维持整个程序的进行。线程池机制在一开始的时候,创建若干条线程,然后使其处于睡眠状态等待任务。主线程接收任务,然后唤醒线程,并然其承担任务。如果线...

2019-09-11 23:19:48 177

原创 【Linux常见问题解决】Ubuntu Kylin 16.04 LTS 闪屏问题

问题描述本次使用的是VMware Workstation Pro 来跑Ubuntu16.04LTS 系统在进入系统后,发现系统一直在闪烁,非常难操作。问题分析由于VM中原来的设置没有把显示设置中的3D图形选上并且该系统需要承载3D图形,并且存在显卡的驱动问题因此导致了系统闪烁现象问题解决方法...

2019-09-09 16:03:53 1462 5

socket中的广播与组播.zip

Linux 系统中UDP协议实现广播与组播

2019-09-25

设置超时控制.zip

四种方法实现网络的超时控制:套接字的属性设置、SELECT函数、POLL函数、ALARM信号

2019-09-24

TCP服务器IO模型之多路复用(一)POLL函数.zip

TCP服务器IO模型之多路复用(一)POLL函数,使用POLL函数实现多路复用

2019-09-20

TCP服务器IO模型之非阻塞轮询.zip

TCP服务器IO模型之非阻塞轮询,使用内核链表,单进程实现

2019-09-20

多线程TCP服务端.7z

利用多线程,系统链表,TCP服务器,以服务器作为转发中介,实现多个客户端之间的通信

2019-09-15

05 精灵进程.rar

精灵进程的源代码,头文件

2019-08-20

空空如也

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

TA关注的人

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