`
文章列表
windows网络模型学习--WINDOWS和LINUX开发模型比较 以前在做LINUX网络开发时把用户层和系统的内核看成两个层面,看简单点就是用户层才能最简单,高效的取到数据;而内核层就是个终端的对象,可以从终端的被动转向主动。 那么在进行网络I/O操作时有这么几种套路来传递数据: 1。普通的recv,send.首先是用户亲自调用函数进到内核I/O空间查看是否有数据,根据是否有数据做出不同的选择。比如有数据则取回,无数据则等待(阻塞模式下)。这是最原始,也是最理想的取数据状态。在单纯的数据连续传递,并且没有多并发情况下算是很高效的。如果没有什么交互或者高连接要求,用这种普通的写法即可。 ...
跟客户交流完问题后,一些问题还没得到解决。客户拿了张纸叫我把一些没解决的问题 记录下来。 我很认真的写了几点,然后说了声谢谢就走了。 后来想想,是不是电话没留个;不过又觉得已经跟客户联多次了,电话应该知道。。 几天后。。 一位同事说,该客户发了份资料到他邮箱。(就是我上次调研的) 真是懊恼啊,我应该留个邮箱给他的,留电话干吗。。。。。。客户怎么爽怎么依他。。
早上,在聚精会神看书中。一同事突然问我:“XX,关于。。。。”。 我当时半开玩笑的说,“当时不是已经发在群里了嘛”。 然后他略显尴尬的说“当时没注意看”。 回答完这个,他拿起手中电话,开始跟另一头的客户解释。 我一下子变得很不自在。因为我当时不知道他在和客户保持通话中,还略显的挖苦他。先撇开是否回答的应该,光光凭借这种大局的重要性,就是我错了。。。 但是当时临近吃午饭,我诚心的给他发了条消息道歉,中午怀着忐忑的心情回到位子上 。。。 后续情节就跟一般的故事情节一样发展。。
本杂文主要是讲解了下信号和进程的关系。前面主要是一些man式的资料描述和书上一些例子的摘要。因为我想一篇记载性的东西多少得放点让人有点回忆性的代码和知识点。主要内容可从sigaction直接开始看。。。 正文 我觉得这是挺好理解的,就好比在系统这个大进程里运行许多派生的进程,为了协调这些派生出的子进程,就必然要使用一些手段来通知监视。而信号就是这样一种系统级别的全局变量的通知。想想在写程序中,多个函数协调一个全局函数的情形。。。 the signal is an event generated by the UNIX and Linux systems in response to some ...
周五下午回公司开会。 在会议室门外,已经坐着几个同组的同事。 后到的我问他们,怎么不进去啊。 一个同事回答说,里面好象有人。(门是关着的) 我 “哦”了一声,就被资源组的同事叫过去拿东西了。 。。 。。 若干时间后 资源组同事过来说:都到了吧,然后就打开会议室的门。 哗然啊,居然没人。 其实有个地方就可以观察到会议室是否有人在用,那就是控制会议室灯的开关。在门口。只不过以前一直没注意去观察,也没弄清楚哪个方向是开着的
如下: 中午,组长因为少了个椅子,来我旁边搬走张椅子(我是用来放包和衣服的)。笑眯眯的说“借我一下。”。我当然是同意的,因为平时和他玩笑开惯了,我边看屏幕边随口说了句“妈的,你这人。。”,最后还带了句组内流行损人的话。 说完后觉得特后悔。一个午休都没心思。 晚上回来类似,在网上发帖,说了一些说者无心的话。后来被一个学姐提醒,赶紧结了帖子。 以后一定要注意了。
一个很简单的UDP/TCP/服务器连接。 不怎么重视,很随意的直接开始编码,并想着用新的思路和方法。结果代码是写很快,但是收发时候的数据怎么都不对。查了一整天,总结如下: 1、对进程规划不完全。简单一个进程做完的事非得分好几个进程。当然这不能全算是我的错,一些设计被强制改了 2、调试信息打印不完全。为了省事简简单单的输出几个变量 3、事先的伪码或者流程图没画好,搞到最后查bug晕头转向,不知道这个数据是套接字发的还是从共享队列中取的 4、对自己的新方法太自信,一开始就肯定不是那的错。 5、不冷静。过程中感觉被这样的小错卡住是对自己极大人格的侮辱!产生烦躁情绪,不过比以前好多了。现在能够在短时间 ...
malloc/free模拟 前言 看《The C Programming_Language》时,对8.7章的malloc讲解感觉不是很理解。趁着时间空闲,在内网里憋了几天,顺便将一些心得和资料记录如下,也让荒废多日的blog添点新东西^_^。 该文中一些注意地方如下,大体思路按照书中原码,改动的部分在“代码中的讲解”这段中有说明;本人在学习过程中难免有一些疏漏,知识水平有限,错误的地方还请大家斧正。 在附件中已经包含可运行代码,一些注意和编译环境都在源代码中说明,可随意转载,请保留版权说明即可。 因为文章比较长,一些段落小题目整理如下: 模拟概念图 申明内存块的规则 释放内存块的规则 内 ...
内网呆了一周,一些奇怪的问题记录下。。 这个是很久以前的 协议是SNMP,用户经常报告说程序把把机器端口搞关闭了。 抓下包,发现有时候因为时延没设置好,一下发了两个请求包。在这间隔,一个session已经关闭,返回对方一条 ICMP不可达端口错误。 今天偶尔看资料才知道,一些XTI接口对这条信息有反映, 导致端口暂时的不可用 用原始套接字开发SYN扫描,在recvfrom时我没用select检测。因为这个时候是对 所有的数据包进行抓取,也不会延时多久。只是简单加了个信号eagin判断。奇怪 的问题出现了,代码如下 for(;;) {    recvfrom       //在这个过程中,如 ...
以下代码和资料均学习自:《进程间通信》第8章读写锁 其中附件中的代码为自己重新封装后的代码和一个测试代码 编译环境如下 Thread model: posix gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5) -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- ------ ...
一直想对套接字选项的资料做个整理。该篇主要包括选项的各个列表,和最终的一个代码,打印出本机是否支持这些选项。 资料摘自http://blog.chinaunix.net/u1/38994/showart.php?id=726708 ,代码从<unp>中摘录 详细列表请点击以上连接查 ...
突然用这个方法的起因很简单,偷懒,方便。起先,我做的一些工作变动性不是很大,一个函数功能的代码比较通过用,也很少接触什么类继承之类的东西。你知道,一些底层的结构不会今天是short明天又变long,应用程序传给我 ...
/* @gcc version 3.2.2 20030222 @Linux version 2.4.20-8 */ /* @function:create */ #include <stdlib.h> #include <unistd.h> #include <sys/types.h> #include <sys/ipc.h> #include <sys/msg.h> #include <iostream> using namespace std; int main(int arg ...
inline void CollectChar(char* _comSQL, const char *_pcAccounts, const char *_pcIP) { /* char buff[128]; _comSQL+=strlen(_comSQL); memset(buff, 0, sizeof(buff)); sprintf(buff, " onrecv_account_logon('%s','%s'); ", _pcAccounts, _pcIP); strcpy(_comSQL, buff); */ char buff[1 ...
一、现场环境证据收集     将一个bug比喻成一次案件。对案件进行分析时,可以从邻居口中得到线索,也可以从现场找到突破口。那么我更喜欢从邻居口中用较少的次数收集到我所需要的信息后,将更多的时间花费在从现场找 ...
Global site tag (gtag.js) - Google Analytics