`
文章列表
在Linux环境下开发经常会碰到很多错误(设置errno),其中EAGAIN是其中比较常见的一个错误(比如用在非阻塞操作中)。    从字面上来看,是提示再试一次。这个错误经常出现在当应用程序进行一些非阻塞(non-blocking)操作(对文件或socket)的时候。例如,以 O_NONBLOCK的标志打开文件/socket/FIFO,如果你连续做read操作而没有数据可读。此时程序不会阻塞起来等待数据准备就绪返回,read函数会返回一个错误EAGAIN,提示你的应用程序现在没有数据可读请稍后再试。    又例如,当一个系统调用(比如fork)因为没有足够的资源(比如虚拟内存)而执行失败,返回 ...
Clock_realtime  代表机器上可以理解为当前的我们所常看的时间,其当time-of-day 被修改的时候而改变,这包括NTP对它的修改(NTP:Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。)CLOCK_MONOTONIC  代表从过去某个固定的时间点开始的绝对的逝去时间,它不受任何系统time-of-day时钟修改的影响,如果你想计算出在一台计算 ...
在阅读创建socketpair时发现不太理解socket中listen和accept函数的功能和差别,看了下面的描述,明白了。   When a SYN arrives from a client, TCP creates a new entry on the incomplete queue and then responds with the second segment of the three-way handshake: the server's SYN with an ACK of the client's SYN (Section 2.6). This entry will r ...
     同事今天问我,如何在linux下的c代码里面控制connect的阻塞时间。应用的背景是:linux下的c程序有两个目标IP需要connect,如果用阻塞方式,当其中一个IP不能连接的情况下,程序将阻塞在connect函数上。     本来以为用setsockopt修改个什么参数就可以搞定,结果baidu了半天也没有结果。倒是在网上搜到很多这样的解决方案:将connect方式设置为非阻塞方式,这样程序一旦执行就会马上返回,但问题是,到底有没有连接上呢,你需要等待一段时间,然后使用函数判断连接是否正常。试了下,貌似由于系统的区别,这个方法在我的linux环境下不适用,主要是后面判断是 ...
Just hold down the Shift key while you right click on the file. Then selectTortoiseSVN → Diff with URL. In the following dialog, specify the URL in the repository with which you want to compare your local file to. 详见:
http://www.cppblog.com/loky/archive/2008/12/10/69106.html  当我们的程序崩溃时,内核有可能把该程序当前内存映射到core文件里,方便程序员找到程序出现问题的地方。最常出 现的,几乎所有C程序员都出现过的错误就是“段错误”了。也是最难查出问题原因的一个错误。下面我们就针对“段错误”来分析core文件的产生、以及我们 如何利用core文件找到出现崩溃的地方。 何谓core文件 当一个程序崩溃时,在进程当前工作目录的core文件中复制了该进程的存储图像。core文件仅仅是一个内存映象(同时加上调试信息),主要是用来调试的。 当程序 ...
引言 对大多数独立游戏开发者来说,自己亲自解决美术设计的工作是必然的——可能是因为财政预算上的限制,或根本就没有财政预算,许多年轻的独立游戏从业者雇不起专门的美工或外包美术设计。 幸亏我们还有大量的免费软件,如 gimp、 inkscape、 truespace、daz studio 和 vue pioneer等(在此只列举几款),再加上基本能理解美术创意,几乎人人都能制作出惊艳又专业的作品。 首先,我将带领大家做几个基础的练习,以巩固对美术设计的理解。所有练习用到的都是免费软件。工作流程与 Adobe Illustrator、 Adobe PhotoShop和 CorelDraw等 ...
以前内容主要是对官方文档中的意译,并加入了一些自己的理解(新版本还是很给力的)。侯哥原创,欢迎交流。 详细参照官方文档:http://dev.mysql.com/doc/refman/5.1/en/innodb-auto-increment-handling.html#innodb-auto-increment-configurable 在mysql5.1.22之前,mysql的“INSERT-like”语句(包INSERT, INSERT...SELECT, REPLACE,REPLACE...SELECT, and LOAD DATA)会在执行整个语句的过程中使用一个AUTO-IN ...
  功能说明:强大的网络工具语  法:nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o<输出文件>][-p<通信端口>][-s<来源位址>][-v...][-w<超时秒数>][主机名称][通信端口...]参  数:  -g<网关>  设置路由器跃程通信网关,最多可设置8个。
显示两个不同的文件;或者同时显示一个文件的两个不同地方;又或者并排比较两个文件。这一切都可以通过分割窗口实现。 打开新窗口最简单的命令如下::split (水平分割) || :vsplit (垂直分割)这个命令把屏幕分解成两个窗口并把光标置于上面的窗口中.   CTRL-W w 命令可以用于在窗口间跳转。如果你在上面的窗口,它会跳转到下面的窗口,如果你在下面的窗口,它会跳转到上面的窗口。(CTRL-W CTRL-W 可以完成相同的功能这是为了避免你有时按第二次的时候从 CTRL 键上缩手晚了。)关 闭 窗 口" :close "任何退出编辑的命令都可以关闭窗口,象 &q ...

mysql 与unicode

UTF8字符集(转换Unicode表示)是存储Unicode数据的一种可选方法。它根据 RFC 3629执行。UTF8字符集的思想是不同Unicode字符采用变长字节序列编码: ·         基本拉丁字母、数字和标点符号使用一个字节。 ·         大多数的欧洲和中东手写字母适合两个字节序列:扩展的拉丁字母(包括发音符号、长音符号、重音符号、低音符号和其它音符)、西里尔字母、希腊语、亚美尼亚语、希伯来语、阿拉伯语、叙利亚语和其它语言。 ·         韩语、中文和日本象形文字使用三个字节序列。 RFC 3629说明了采用一到四个字节的编码序列。当前,MySQLUTF ...
快下班时,爱问问题的小朋友Nico又问了一个问题: "sqlserver里面有char和nchar,那个n据说是指unicode的数据,这个是什么意思。" 并不是所有简单的问题都很容易回答,就像这个问题一样。于是我答应专门写一篇BLOG来从头讲讲编码的故事。那么就让我们找个草堆坐下,先抽口烟,看看夜晚天空上的银河,然后想一想要从哪里开始讲起。嗯,也许这样开始比较好……
  05 Jan 08 深入Mysql字符集设置 作者: Laruence(  

关于set names

<?php$conn=mysql_connect("localhost","root","123456");mysql_select_db("db_bcty365",$conn);mysql_query("set names gb2312");?> 其中: SET NAMES ‘x‘语句与这三个语句等价: mysql> SET character_set_client = x;mysql> SET character_set_results = x;mysql& ...
1、什么是Keep-Alive模式? 我们知道HTTP协议采用“请求-应答”模式,当使用普通模式,即非KeepAlive模式时,每个请求/应答客户和服务器都要新建一个连接,完成 之后立即断开连接(HTTP协议为无连接的协议);当使用Keep-Alive模式(又称持久连接、连接重用)时,Keep-Alive功能使客户端到服 务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接。 http 1.0中默认是关闭的,需要在http头加入"Connection: Keep-Alive",才能启用Keep-Alive;http ...
Global site tag (gtag.js) - Google Analytics