E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
编程笔记
socket Tcp
编程笔记
--心跳包的实现逻辑
项目原版本使用的是boost实现的客户端访问服务端的socket,开始只是知道使用到了心跳包来保活,具体心跳包如何实现的,第一步明白的是隔10秒钟会发送给服务端心跳包,服务端隔10秒钟也会发给客户端心跳包,但是后来又有了疑问,那服务端和客户端是否需要计数的机制呢?比如说客户端在3次没有收到服务端的心跳包之后,认为服务端断开;而服务端在3次没有收到客户端的心跳包之后,认为客户端断开?是否需要此类的计
educast
·
2013-10-28 11:00
核心
编程笔记
9——内核对象的线程同步2
“信号量内核对象”用于对资源进行计数。在信号量内核对象内部,和其他内核对象一样,有一个使用计数,该使用计数表示信号量内核对象被打开的次数。信号量内核对象中还有两个比较重要的数据,分别表示最大资源数和当前资源数。最大资源数表示能够管理的资源的总数,当前资源数表示目前可以被使用的资源数量。 可以使用CreateSeamphore函数来创建一个信号量内核对象,该函数成功返回句柄,失败返回NULL。
mao0514
·
2013-09-29 08:00
[笔记]linux shell基础
编程笔记
使用的环境是 fedora 18 由于是初学者有错误无法及时发现,欢迎指正. 内容很简单 就是基本的变量的使用 基本的语句和函数的基本创建使用 2013/09/15 shell-->命令解析器 将用户输入的指令转换成相应的机器能够运行的程序 shell脚本 shell的第一行是(不过在
fair_jm
·
2013-09-16 23:00
Linux shell
linux 多线程
编程笔记
一, 线程基础知识1,线程的概念线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。2,线程的优点(1) 通过为每种事件类型的处理分配单独的线程,能够简化处理异步时间的代码。(2) 多个
gfsfg8545
·
2013-08-31 17:00
多线程
linux
同步
信号量
条件变量
互斥量
Windows动态链接库
编程笔记
基础:1.DLL与进程关系DLL的文件映像被映射到调用进程的地址空间中,DLL的函数供进程中运行的所有线程使用.这时,DLL几乎将失去它作为DLL的全部特征.对于进程中的线程来说,DLL的代码和数据看上去就像恰巧是在进程的地址空间中的额外代码和数据一样.1当一个线程调用DLL函数时,该DLL函数要查看线程的堆栈,以便检索它传递的参数,并将线程的堆栈用于它需要的任何局部变量.此外,DLL中函数的代码
leiych
·
2013-08-12 21:00
Java优化
编程笔记
——Java核心类与性能优化
1.散列表核心类Vector——线程安全,ArrayList——线程不安全Hashtable——线程安全,HashMap——线程不安全·VectorVector类中的方法(除构造方法)都是线程安全的,故在要求线程安全的场合下调用Vector类的下列方法,不需要考虑线程安全的问题,如: publicsynchronizedvoidaddObj2Vector(Objectobj){ vector.
EalayKing
·
2013-08-11 17:00
java
编程
IO
nio
Unix环境高级
编程笔记
1系统调用和库函数调用是有区别的,系统调用只提供最小的接口,而库函数则提供更为复杂的功能。例如获取当前日期,系统调用只会返回距离格林威治时间1970年1月1号经历了的秒数,而库函数怎会结合当地的时区计算出日期。 2文件io的几个主要的接口分别是open\create\read\write\lseek\close(这几个接口属于不带缓冲的io,每次调用对应一次系统调用,陷入内核)。对内核而言,所有打
hill007299
·
2013-07-28 15:00
unix
黑马程序员--网络
编程笔记
-------android培训、java培训、期待与您交流!----------网络编程用于描述ip的对象InetAddress InetAddress I = InetAddress.getLocalHost();端口号: 用于标识进程的逻辑地址,不同进程的标识 有效端口:0-65535,其中0-1024系统使用或保留端口传输协议: 常见
panningwjr
·
2013-07-25 16:00
文件上传
网络编程
聊天小程序
C shell
编程笔记
一.简介1.脚本开头是#!/bin/csh或者#!/bin/tcsh2.脚本开始执行时会首先读取.cshrc(.tcshrc)文件,在脚本的第一行使用-f选项将不再执行#!3.脚本注释使用'#'4.使编写好的脚本可执行chmod+xscript_name5.脚本中使用变量的方法是$VARIABLE_NAME或者是${VARIABLE_NAME}.脚本中使用反斜杠\可以转义历史替换符'!'6.脚本中
下木
·
2013-07-07 11:37
Unix系统和编程
C shell
编程笔记
一.简介1.脚本开头是#!/bin/csh或者#!/bin/tcsh2.脚本开始执行时会首先读取.cshrc(.tcshrc)文件,在脚本的第一行使用-f选项将不再执行#!3.脚本注释使用'#'4.使编写好的脚本可执行chmod+xscript_name5.脚本中使用变量的方法是$VARIABLE_NAME或者是${VARIABLE_NAME}.脚本中使用反斜杠\可以转义历史替换符'!'6.脚本中
Hipercomer
·
2013-07-07 11:00
ARM体系结构与
编程笔记
存储器映射基本概念ARM处理器产生的地址叫虚拟地址,把这个虚拟地址按照某种规则转换到另一个物理地址去的方法称为地址映射。这个物理地址表示了被访问的存储器的位置。它是一个地址范围,该范围内可以写入程序代码。存储器映射控制的必要性为了让运行在不同存储器空间中的程序对异常进行控制。可以通过存储器映射控制,将位于不同存储空间的异常向量表重新映射至固定地址0x00~0x3F处,以实现异常向量表的来源控制。A
aoxiangzhiguanjun
·
2013-06-17 15:00
DLL
编程笔记
第1课DLL基础一、静态链接库(StaticLinkLibrary)程序员们把常用的代码集合放进独立的文件里,这样的文件就叫做库。在写程序的时候,把这个库文件加入编译器,就能够使用这个库包含的所有功能而不必自己再去写一大堆代码。但是这种方法会把库里所有的东西都包含进去,造成程序体积的增大。 制作静态链接库StaticLibTestStdAfx.h//stdafx.h:includefilefors
coperator
·
2013-06-07 18:00
编程笔记
string的函数
C++PrimerFifthEdition英文彩色带书签http://download.csdn.net/detail/kingeasternsun/5529053C++PrimerPlus(6thEdition) 英文原版彩色带书签http://download.csdn.net/detail/kingeasternsun/5508691构造string对象的其他方法strings(cp,n)C
KingEasternSun
·
2013-06-06 09:00
【Linux网络
编程笔记
】TCP短连接产生大量TIME_WAIT导致无法对外建立新TCP连接的原因及解决方法—实践篇
上篇笔记主要介绍了与TIME_WAIT相关的基础知识,本文则从实践出发,说明如何解决文章标题提出的问题。1.查看系统网络配置和当前TCP状态 在定位并处理应用程序出现的网络问题时,了解系统默认网络配置是非常必要的。以x86_64平台Linuxkernelversion2.6.9的机器为例,ipv4网络协议的默认配置可以在/proc/sys/net/ipv4/下查看,其中与TCP协
slvher
·
2013-05-17 21:00
linux
programming
NetWork
tcpip
【Linux网络
编程笔记
】TCP短连接产生大量TIME_WAIT导致无法对外建立新TCP连接的原因及解决方法—基础知识篇
最近遇到一个线上报警:服务器出现大量TIME_WAIT导致其无法与下游模块建立新HTTP连接,在解决过程中,通过查阅经典教材和技术文章,加深了对TCP网络问题的理解。作为笔记,记录于此。 备注:本文主要介绍TCP编程中涉及到的众多基础知识,关于实际工程中对由TIME_WAIT引发的不能建立新连接问题的解决方法将在下篇笔记中给出。1.实际问题 初步查看发现,无法对外新建TCP连接时
slvher
·
2013-05-17 21:00
linux
网络编程
tcpip
C专家
编程笔记
1.const最有用之处就是用他来限定函数的形参,这样该函数将不会修改实参指针所指的数据。2.sizeof(arr[0])的写法比sizeof(int)更具有很好的移植性。因为我们可以改数据类型而不用改该表达式。3.NUL结束一个字符串,NULL空指针。4.标准C编译器至少允许switch满足257个case,即满足一个“字符“的所有情况。1个8bit位的所有情况5."a""b""c",如果不小心
cwj649956781
·
2013-04-17 18:00
部分博文目录索引
》》数据结构及算法篇《《【基础知识】之BinarySearchTree二叉搜索树【基础知识】之堆排序(heapsorting)【基础知识】之快排(quicksorting)》》集体智慧
编程笔记
《《《集体智慧编程
Elar的博客
·
2013-04-16 15:00
部分博文目录索引
》》数据结构及算法篇《《【基础知识】之BinarySearchTree二叉搜索树【基础知识】之堆排序(heapsorting)【基础知识】之快排(quicksorting) 》》集体智慧
编程笔记
《《《集体智慧编程
elar
·
2013-04-16 15:00
Socket
编程笔记
001
好多天前就想写的,可是拖延症暂时没药医。。。socket编程过程中,有几个前提(在UNP的前言以及第一章中有提到)。1.需要一定的编程语言基础,例如C语言;2.需要有一定的TCP/IP网络协议栈知识,至少知道TCP和UDP的连接和释放(话说UDP不需要连接);3.如果可能,最好对操作系统(例如Linux)有一定了解。然后,就可以开搞了。一般而言,socket编程分为客户端和服务端编程,socket
·
2013-04-13 23:00
socket编程
ACE网络
编程笔记
(1):ACE自适配通信环境
介绍 ACE自适配通信环境(ADAPTIVECommunicationEnvironment)是可以自由使用、开放源码的面向对象(OO)构架(Framework),在其中实现了许多用于并发通信软件的核心模式。ACE提供了一组丰富的可复用C++WrapperFacade(包装外观)和构架组件,可跨越多种平台完成通用的通信软件任务,其中包括:事件多路分离和事件处理器分派、信号处理、服务初始化
C小加
·
2013-04-08 09:00
Linux多线程
编程笔记
(2) -------pthread库提供的基本操作。
1.线程的创建(pthread_create)2.线程的退出(pthread_exit)3.等待线程结束(pthread_join)4.线程的分离(pthread_detach)5.获取当前线程(pthread_self) 1.线程的创建: 函数的原型如下: intpthread_create(pthread_t*thread, pthread_attr_t*attr
自护意识
·
2013-03-31 11:00
bash
编程笔记
汇总
1、脚本该如何些 hello.sh 命名,执行权限,如何执行2、在写bash脚本时,如果传参数[root@mailbash]#cat hello.sh#!/bin/bash#firstbashshellscriptecho"HelloWorld!"echo$$echo"\$0是什么???是指脚本名称"$0echo"\$1这是脚本的第1个位置参数:"$1echo"\$2这是脚本的第2个位置参数:"$
shl060188
·
2013-03-13 10:00
[置顶] socket编程
C#Socket
编程笔记
看到这个题目,是不是很眼熟?在博客园里搜下,保证会发现关于这个东东的文章实在是太多了~~~真得是没有写得必要,而且我也有点懒得去琢磨字句。
wanglei_samrtfish
·
2013-03-11 20:00
JSP标签
编程笔记
对于jsp标签的编程,经历算是坎坷,昨天晚上开始着手编写第一个标签,算是漏洞百出,当时也心不在焉, 就没有关注具体的错误,就撒手不管了。今天索性又重新编写了一个更复杂些的标签。刚开始运行也是看到了类似昨天的错误, 静下心来,修改好了,颇有感觉就记下来吧! 定义标签步骤如下:
程言方
·
2013-03-09 15:00
jsp
《远控
编程笔记
》第七天
第十三课、创建服务端,并从Gh0st服务端中分离出Socket数据传输的内核3.2 创建服务端1.新建一个MainDll工程,工程为dll2.复制svchost工程下ClientSocket.h ClientSocket.cpp文件到我们的工程下3.复制common文件夹下的文件,这个文件较多,所以事先准备好了,大家照做就是。4.解决编译问题,这些问题不能预期,只能见招拆招,所以大家看我临时的讲解
eldn__
·
2013-02-15 13:00
《远控
编程笔记
》 第六天
第十一课、加入Socket数据传输的内核 2.4 加入端口监听功能 1.分析gh0st监听端口的函数: Activate(UINT nPort, UINT nMaxConnections)2.需要一个回调函数,用于分类处理一些功能消息 NotifyProc3.复制NotifyProc 代码 到我们的dlg类中, 去掉多余的代码头文件声明:pro
eldn__
·
2013-02-14 13:00
《远控
编程笔记
》 第五天
第十课、加入Socket数据传输的内核2.3 加入gh0st的socket内核文件(IOCPServer类)并编译 1.复制gh0st主控端的include文件夹到我们的工程下(其中的IOCPServer类是我们想要的)。2.添加复制过来的include 文件夹下的所有文件到现有项。3.复制common文件夹到我们的工程的上一层目录下,其中的zlib是我们用到的压缩算法类所在的文件。4.在IOC
eldn__
·
2013-02-14 00:00
《远控
编程笔记
》 第四天
第八课、客户端界面的设计和编写1.9 为对话框添加入工具条 1.创建工具条资源(ToolBar) ID: IDR_TOOLBAR_MAIN 更改 Height:48 Width:48点击一下“颜色选择工具”点选一下工作区中的那个大的方块,然后选择“铅笔工具”,点一下上面最后新生成的那个小方块,然后再点击一下下面的左面的小方块就成功复制了一个,就这样直到复制13个为止。在第九个和第十个
eldn__
·
2013-02-10 01:00
《远控
编程笔记
》 第三天
妈妈正在做年夜饭,坐等好吃的上桌第六课、客户端界面的设计和编写1.6 添加菜单消息响应,从列表中删除条目1.添加菜单消息响应的函数(在Dlg类上右键属性,右边的事件): 终端管理 进程管理 窗口管理 桌面管理 文件管理 语音管理 视频管理 服务管理 注册表管理 断开连接2.删除列表中的条目(断开连接函数的处理函数):
eldn__
·
2013-02-09 14:00
《远控
编程笔记
》 第二天
第三课、 一、客户端界面的设计和编写 1.3 列表的列宽度支持伸缩 1.CListCtrl SetColumnWidth 查看MSDN BOOL SetColumnWidth( int nCol, //列索引 int cx
eldn__
·
2013-02-08 20:00
《远控
编程笔记
》 第一天
开发环境: 客户端:visualstdio2010 服务端:visualC++6.0+platformSDKFebruary2003 第一课、1.新建一个工程,看操作 我们必须给工程起一个响亮的名字:-D 就叫PCRemote吧2.添加最大化窗口,最小化窗口的属性3.更改对话框到适当大小4.添加服务端连接后显示的列表控件IDC_ONLINE,日志列表控件IDC_MESSAGE,设置上线列表
eldn__
·
2013-02-07 22:00
javascript面向对象
编程笔记
01
声明类/*在该对象内部声明的对象如果加上this就表示是公有的,否则就是私有的,只能在该对象内部使用*/ /*声明一个对象*/ functionLecture(name,teacher){ varid=3; this.name=name; this.teacher=teacher; this.publicFun=function(){ alert("publicmethod"); privateF
is_zhoufeng
·
2013-01-28 15:00
linux下C
编程笔记
1、system()函数相关函数:fork,execve,waipid,popen表头文件:#include函数定义:intsystem(constchar*string)返回值:如果fork()失败返回-1:出现错误如果exec()失败,表示不能执行Shell,返回值相当于Shell执行了exit(127)如果执行成功则返回子Shell的终止状态如果system()在调用/bin/sh时失败则返
qiqijianglu
·
2013-01-28 10:00
AS3.0
编程笔记
1.生成一个-1.0~1.0随机数方法:Math.random()*2.0-1.0 2.调用getter、setter函数不用加括号:publicclassC { privatei:int=0; publicfunctiongetternum():int{returni;} } ... varc:C=newC; trace(c.num); ...
m_LeonWANG
·
2013-01-15 11:00
as3.0
windows网络
编程笔记
一、echo客户/服务器程序1、网络结构模型a、集中式系统----有一个大型的中央处理系统,有点是数据容易备份,不易感染病毒,日常生活中的ATM、POS等使用的都是集中式系统b、分布式系统----具有高度的可靠性、均衡负载、满足不同的需要c、对等网络模型----P2P网络,每一台主机处于同等地位,既作为客户端,又充当其他主机的服务器,有可非为无结构网络、有结构网络、混合式网络、集中式网络2、ech
xiegenwendada
·
2013-01-11 17:00
Java TCP/IP Socket 编程 笔记(三)—UDP的例子
http://jimmee.iteye.com/blog/617110 JavaTCP/IPSocket
编程笔记
(三)—UDP的例子博客分类:J2SE编程JavaSocket.net1.UDP套接字与TCP
hewusheng10
·
2013-01-05 21:00
原子日志生成器-----UNIX系统
编程笔记
要生成原子日志器,就必须用单个的write调用来输出我们希望在日志中同时出现的信息。必须用标识符O_APPEND打开文件。(有这个,每次在写操作之前,文件偏移都会被设置到文件的末尾,而且在修改文件偏移和写操作之间不会出现干扰性的文件修改操作)。使用日志器,首先调用atomic_log_open创建日志文件。在完成了所有的日志操作后由,atomic_log_close()关闭。日志器提供三种写入日志
djinglan
·
2012-12-24 19:00
Linux 网络
编程笔记
(二)
第二章 套接口编程简介(1)IPv4套接口地址结构:struct sockaddr_in{ sin_family; sin_port;//网络字节序,16位 sin_addr;//网络字节序的一个in_addr结构体}struct in_addr{ s_addr;//一个32位的无符号整数,以网络字节序存储}(2)通用套接口地址结构struct sockaddr;对于应用程序员来说只要知道这个结
luo6620378xu
·
2012-12-19 20:00
Linux 网络
编程笔记
(一)
第一章 TCP和UDP套接口建立步骤(1)TCP建立步骤:(以IPv4为例)1.1客户端链接步骤:socket()函数建立可用的套接口;填充sockaddr_in结构体(字段参见,第二章1节); connect()函数与服务器建立连接,将触发三次握手过程;read()函数和write()函数进行读写操作;1.2服务器段链接步骤:socket()函数建立可用的套接口;填充sockaddr_in结构体
luo6620378xu
·
2012-12-17 18:00
Windows核心
编程笔记
: 进程和线程
WindowsPlatformSDK文档声明,进程要等到所有线程终止运行之后才终止运行。就操作系统而言,这种说法是对的。但是,C/C++运行期对应用程序采用了不同的规则,通过调用ExitProcess,使得C/C++运行期启动代码能够确保主线程从它的进入点函数返回时,进程便终止运行,而不管进程中是否还有其他线程在运行。不过,如果在进入点函数中调用ExitThread,而不是调用ExtiProces
fyifei0558
·
2012-12-07 16:00
计算每年的最高温度MaxTemperature
另外设计到hadoop编程方面的请查阅另一个笔记系列:《Hadoop
编程笔记
》。如果有同学同时
·
2012-12-07 14:00
hadoop
map
reduce
maptemperature
Widows Socket
编程笔记
---非本机无法正常通信
由于之前要模拟XX通信,于是打算试试Socket,虽然在Java早早已玩过这个东西并且当时是毫无问题,不过用C++来弄之后就开始发现各种问题。1、“数据丢失”。最早不知道是什么原因,因为没有做消息错误的处理,认为是消息丢失了,反馈的数量和发送过去的是不对等的,导致出错。后来得知在发送的时候有可能会把多条消息合并成一条发送出去,刚开始我是没想到会有这样的情况,直到某人在群里问到之后才知道原来是这样,
fg5823820
·
2012-12-06 19:00
C++
C++
socket
socket
socket
JASMIN
编程笔记
現在做個簡單的Compiler,包括三個部份,scanner用flex/scangen,parser用bison/yacc/llgen,剩下codegeneration可以直接輸出assemblycode來做,也可輸出成JVMbytecode。我之前沒學過assemblycode,直接學學這個也不錯,概念和x86差不多吧。JVM也屬stackbasedmachineplatform(其他比如Po
1025250620
·
2012-11-21 23:00
ASM
linux 网络
编程笔记
1.一个进程中,开多个socket句柄,则在发送时,每个句柄独立绑定一个端口。在收包时,不会出现串包的现象。2.socket句柄的生存期:如果遇到close(),shutdown(),则结束,否则,直到程序运行结束或该socket被手动重新赋值为止。3.每个句柄对应独立的接收发送缓冲区。
xiarong715
·
2012-11-10 00:00
SetTimer()KillTimer()
WM_TIMER消息映射(转)SDK
编程笔记
—计时器篇两个计时器API的讨论 SetTimer函数用于创建一个计时器,KillTimer函数用于销毁一个计时器。计时器属于系统资源,使用完应及时销毁。
SunCherryDream
·
2012-10-15 16:00
timer
windows
Microsoft
IBM
null
callback
JAVA泛型
编程笔记
1介绍Java泛型编程是JDK1.5版本后引入的。泛型让编程人员能够使用类型抽象,通常用于集合里面。下面是一个不用泛型例子: Java代码 List myIntList=new LinkedList(); //1 myIntList.add(newInteger(0)); //2 Integer x=(Integer)myIntList.iterator().next(); //3 List
winson_jason
·
2012-10-11 08:00
java
object
String
list
Integer
Shapes
Socket
C#Socket
编程笔记
1.socketWindows中的很多东西都是从Unix领域借鉴过来的,Socket也是一样。
风痕天下
·
2012-09-26 15:00
MSSQL
编程笔记
三 left join on 和 left join where区别
在使用left join时,on和where条件的区别如下: 1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。 可以理解为,左表记录保留,右表不满足条件的填写为null 2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。 &n
hq369
·
2012-09-25 17:00
SQL Server
hadoop
编程笔记
1 基本hadoop程序 2 输入输出格式 3 多个map reduce管道(已经实践,靠谱,可否支持写入不同的文件呢?) 4 数据join。 map端join reduce端join(分组,打标志,以关联字段为key) 分布式缓存(非对称,小数据) 布隆过滤器(假负率为0,位图,缩小存储空间,非对称表join常用手段) http://www.google.com.hk/ggblo
hill007299
·
2012-09-09 23:00
mapreduce
QT 开发 参考blog及网站
page=2(3)关键字:MVC
编程笔记
多篇文章、treeview、listview、tableView 引
yewenlin
·
2012-09-04 13:00
上一页
23
24
25
26
27
28
29
30
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他