会员
周边
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
LarryKnight
博客园
首页
新随笔
联系
管理
订阅
04 2016 档案
UDP
摘要:UDP (User Datagram Protocol,用户数据报协议), 是OSI(Open System Interconnection,开放式系统互联) 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。 客户不与服务器建立连接,而是只管使用sendto函数给服务器发送数
阅读全文
posted @
2016-04-30 11:35
LarryKnight
阅读(272)
评论(0)
推荐(0)
DeviceIoControl
摘要:DeviceIoControl是kernel32中的函数,包含的头文件为winbase.h。 BOOL DeviceIoControl( HANDLE hDevice, // 设备句柄 DWORD dwIoControlCode, // Io控制命令 LPVOID lpInBuffer, // 应用
阅读全文
posted @
2016-04-29 17:02
LarryKnight
阅读(1029)
评论(0)
推荐(0)
ring0
摘要:Intel的x86处理器是通过Ring级别来进行访问控制的,级别共分4层,RING0,RING1,RING2,RING3。Windows只使用其中的两个级别RING0和RING3。 RING0层拥有最高的权限,RING3层拥有最低的权限。 按照Intel原有的构想,应用程序工作在RING3层,只能访
阅读全文
posted @
2016-04-29 16:38
LarryKnight
阅读(268)
评论(0)
推荐(0)
epoll()
摘要:在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。 epoll是一种高效的管理socket的模型,相对于select和poll来说具有更高的效率和易用性。 相比于select,epoll最大的好处在于它不会随着监听fd
阅读全文
posted @
2016-04-29 09:35
LarryKnight
阅读(206)
评论(0)
推荐(0)
select()
摘要:select(),用于确定一个或多个套接口的状态,对每一个套接口,调用者可查询它的可读性、可写性及错误状态信息,用fd_set结构来表示一组等待检查的套接口,在调用返回时,这个结构存有满足一定条件的套接口组的子集,并且select()返回满足条件的套接口的数目。 该函数允许进程指示内核等待多个事件中
阅读全文
posted @
2016-04-26 10:08
LarryKnight
阅读(328)
评论(0)
推荐(0)
Linux下I/O模型
摘要:Unix下共有五种I/O模型 1. 阻塞式I/O 2. 非阻塞式I/O 3. I/O复用(select和poll) 4. 信号驱动式I/O(SIGIO) 5. 异步I/O(POSIX的aio_系列函数) 1. 阻塞式I/O(blocking I/O):基本所有套接字都是阻塞的,下面以数据报套接字为例
阅读全文
posted @
2016-04-24 23:31
LarryKnight
阅读(359)
评论(0)
推荐(0)
Linux服务器
摘要:单进程和使用select的服务器程序 第一个客户建立连接前的服务器状态: 服务器只维护一个读描述符集时:描述符0、1和2分别被设置为标准输入、标准输出和标准错误输出,故监听套接字的第一个可用描述符是3。 描述符集中唯一的非0项是表示监听套接字的项,因此select的第一个参数将为4。 client整
阅读全文
posted @
2016-04-24 21:15
LarryKnight
阅读(257)
评论(0)
推荐(0)
python中main()函数写法
摘要:顶顶大名的Guido van Rossum(Python之父)推荐的main写法: getopt模块用于抽出命令行选项和参数,也就是sys.argv。 命令行选项使得程序的参数更加灵活。支持短选项模式和长选项模式 opts, args = getopt.getopt( sys.argv[1:], s
阅读全文
posted @
2016-04-24 15:11
LarryKnight
阅读(45585)
评论(0)
推荐(0)
python中requests
摘要:#发送无参数的get请求import requests def get_html(url): res = requests.get(url) return res.text #发送无参数的post请求 import requests def get_html(url): res = requests.post(url) return res.text...
阅读全文
posted @
2016-04-23 11:03
LarryKnight
阅读(185)
评论(0)
推荐(0)
POSIX信号
摘要:POSIX 表示可移植操作系统接口(Portable Operating System Interface ,缩写为 POSIX ),POSIX标准定义了操作系统应该为应用程序提供的接口标准,是IEEE为要在各种UNIX操作系统上运行的软件而定义的一系列API标准的总称,其正式称呼为IEEE 100
阅读全文
posted @
2016-04-22 09:46
LarryKnight
阅读(769)
评论(0)
推荐(0)
exit(0)和exit(1)区别
摘要:exit(0):正常退出程序; exit(1):非正常退出程序; return:返回。 return是语言级别的,表示调用堆栈的返回; exit是系统调用级别的,表示一个进程的退出。
阅读全文
posted @
2016-04-21 14:39
LarryKnight
阅读(906)
评论(0)
推荐(0)
errno
摘要:#ifndef _I386_ERRNO_H #define _I386_ERRNO_H #define EPERM 1 /* Operation not permitted */ #define ENOENT 2 /* No such file or directory */ #define ESR
阅读全文
posted @
2016-04-21 14:32
LarryKnight
阅读(215)
评论(0)
推荐(0)
getsockname和getpeername
摘要:int getsockname(int sockfd, struct sockaddr *localaddr, socklen_t *addrlen); // 获取与某个套接字关联的本地协议地址 int getpeername(int sockfd, struct sockaddr *localad
阅读全文
posted @
2016-04-20 17:36
LarryKnight
阅读(432)
评论(0)
推荐(0)
并发服务器
摘要:Unix中编写并发服务器最简单的办法是fork一个子进程来服务每个客户。
阅读全文
posted @
2016-04-20 14:55
LarryKnight
阅读(159)
评论(0)
推荐(0)
fork&exec
摘要:进程是系统进行资源分配和调度的基本单位,包括代码、数据和PCB进程控制块等资源。 fork函数通过系统调用创建一个与原进程相同的子进程。 在调用进程(父进程)中返回一次,返回子进程ID;在子进程返回0。 父进程调用fork之前打开的所有描述符在fork返回之后由子进程分享。 网络服务器父进程调用ac
阅读全文
posted @
2016-04-20 12:41
LarryKnight
阅读(183)
评论(0)
推荐(0)
VMware Workstation 无法连接到虚拟机
摘要:"This PC(我的电脑)":右键"manage(管理)"; "Service and Applications(服务和应用)":"Service(服务)"; 右栏"Vmware Authorization Service":右键start(开始)。
阅读全文
posted @
2016-04-19 20:43
LarryKnight
阅读(1441)
评论(0)
推荐(0)
字节操作函数
摘要:str开头的函数:以空字符结尾的C字符串是由<string.h>头文件定义;如strcpy() strcmp() b开头的函数:表示字节,起源于4.2BSD;如bzero() bcopy() bcmp() mem开头的函数:表示内存, 起源于ANSI C标准。如memset() memcpy() m
阅读全文
posted @
2016-04-18 22:32
LarryKnight
阅读(404)
评论(0)
推荐(0)
大小端判断
摘要:网络字节序通常为大端。 主机字节序和网络字节序相互转换:htons() htonl() ntohs() ntohl()
阅读全文
posted @
2016-04-18 19:41
LarryKnight
阅读(164)
评论(0)
推荐(0)
TCP
摘要:TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。 在因特网协议族中,TCP层是位于IP层之上,应用层之下的中间层。 不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可
阅读全文
posted @
2016-04-17 20:48
LarryKnight
阅读(181)
评论(0)
推荐(0)
TCP与UDP
摘要:TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议;可靠、保证正确性;顺序到达;流量控制、拥塞控制;重传机制、窗口机制;对系统资源、时间要求多;流模式SOCK_STREAM。服务器端:socket、bind、listen、accept、send、rec
阅读全文
posted @
2016-04-17 20:07
LarryKnight
阅读(171)
评论(0)
推荐(0)
Windows NT访问权限
摘要:#define SECTION_QUERY 0x0001 #define SECTION_MAP_WRITE 0x0002 #define SECTION_MAP_READ 0x0004 #define SECTION_MAP_EXECUTE 0x0008 #define SECTION_EXTEND_...
阅读全文
posted @
2016-04-15 22:30
LarryKnight
阅读(497)
评论(0)
推荐(0)
C++中静态数据成员
摘要:类的静态成员不能由类的构造函数来初始化。因为即使不存在类的任何对象时,类的静态成员依然存在并且可以被使用。类的静态成员也不能访问任何类的非静态成员。 类名和类对象都可以直接调用静态数据成员。因为静态数据成员在执行构造函数之前都已经存在了。 但如果静态成员是整型或是枚举型const,则可以在类声明中初
阅读全文
posted @
2016-04-14 15:17
LarryKnight
阅读(455)
评论(0)
推荐(0)
NT内存
摘要:在NT/2K/XP中,操作系统利用虚拟内存管理技术来维护地址空间映像,每个进程分配一个4GB的虚拟地址空间。运行在用户态的应用程序,不能直接访问物理内存地址;而运行在核心态的驱动程序,能将虚拟地址空间映射为物理地址空间,从而访问物理内存地址。 如果要在应用程序中以物理地址方式访问内存,自然而然的办法
阅读全文
posted @
2016-04-14 10:18
LarryKnight
阅读(399)
评论(0)
推荐(0)
OSVERSIONINFO
摘要:OSVERSIONINFO结构 OSVERSIONINFO结构包含了操作系统的版本信息,包括操作系统的主版本号、副版本号、创建号、以及操作系统平台ID号和关于操作系统的其他描述信息。其定义为: typedef struct _OSVERSIONINFO{ DWORD dwOSVersionInfoS
阅读全文
posted @
2016-04-13 20:49
LarryKnight
阅读(775)
评论(0)
推荐(0)
sleep函数
摘要:Linux下: #include <unistd.h> sleep(1); // 睡眠1秒 usleep(1); // 睡眠1微妙
阅读全文
posted @
2016-04-01 20:46
LarryKnight
阅读(172)
评论(0)
推荐(0)
公告