引言: 嗯.开头之前呢.我先把我对Event机制简单说一下. Even
摘要:个人想做一个linux下的ip phone,找了一些sip资料,发现这协议够大,看osip项目都做了一两年,我也觉得难度太高,但想想难度高才有挑战嘛,自我安慰,呵呵.第一步我想开始熟悉linux下的进程通讯, 预想有socket, pipe,queue,sigaction等要先掌握.先不做服务器, 以两个客户程序user agent通信为主.划分几个模块: 1.socket处理模块 2.信令解析模......
摘要:对于多数开发者来说,web服务已经成为某种固定不变的东西了,因为他们把internet看作是促进应用程序应用的最好途径。一些web服务(例如amazon.com web服务)是公共的,并且很容易被要求把这种服务包含在应用程序中。其它一些web服务是私有的,并且需要访问的特定知识。无论涉及哪种web服务,他们都依赖xml传递数据。因此,在提到web服务的时候,xml解析是开发者想到的第一件事。全文阅......
编写跨平台的进程内Event事件驱动 嗯.开头之前呢.我先把我对event机制简单说一下. event也就是事件,典型的就是windows的消息,我们写windows程序时就会经常碰到这种消息: 【程序编程相关:
C#学习日记 - 2004/11/04】 【推荐阅读:
微软英特尔首度联手作广告】sendmessage(hwnd.....)以及经典的switch(),通过事件机制,进程内部的通信就变得轻松了,相比之下.unix就没有这么方便了.虽然有msgget以及msgsnd之类的消息队列函数,但在win32可没有这类的函数哦. 【扩展信息:
SQL Server 7.0 入门(八)】 所以呢.如果想写一些跨平台的程序,经常就要借助第三方的库比如qt或wxwindow之类的,不过我可不太喜欢一个程序就带一个很大的库,如果是gui还好.如果是命令行的...嘿嘿.你就要装x还有gtk等等,编译几个小时没有问题的. 所以我们就写一个简单的进程内的事件驱动实现,省得带这么大的库. 进程内的事件驱动主要是三部分,一是定义事件,二是准备接收事件.三是响应事件.事件的执行顺序就是按照fifo的原则了,结构当然是选用简单的栈队列了. typedef struct tagqinn qinn; typedef struct taginn inn; typedef struct tagqinnvtbl { void (*push)(qinn *self,void *data); void *(*pop)(qinn *self); void (*release)(qinn *self); }qinnvtbl; struct taginn { void *data; struct taginn *pnext; }; struct tagqinn { inn *phead; inn *ptail; qinnvtbl *lpvtbl; };
// 这种结构可以在chamoro.tar.gz中找到.
就提供两个函数.pop以及push,这样就可以实现事件的响应了
另外,我们的进程内事件就叫qevent吧.我们先看看结构
typedef struct tagqevent qevent;
typedef struct qeventvtbl { int (*eventstart) (qevent *self); int (*addevent) (qevent *self ,int event,void (*eventfuc)(void *)); int (*sendevent) (qevent *self,int event,void *param); int (*eventrun) (void *param); ...
下一页 摘要: 这几天不知道是不是人品出了问题,老是遇上一些小bug。 昨天在公司里写了一个有浏览网页代码的小程序,图方便,使用的是tembeddedwb控件,这个控件在delphi自带的twebbrowser控件上又提供了一些选项和方法。 拿回家以后打开这个工程,在打开浏览页面窗口的时候却出错了:“error creating form:´´ is not a valid ......