异步 Select 模型通讯组件

关键字: ntCommComp Select notalk 异步 通讯
来 自: 转载
平 台: Win2k/XP/NT,Win2003
编辑器: DELPHI7 发布时间: 2007-7-16
分 类: 通信控件 下载浏览: 432/1137

文件包含说明:

ClassToAPI.pas   将使用到的class单元的部分改写
CommPubs.pas       公用的单元
libeay32.pas       SSL准备,暂未实现
OpenSSLUtils.pas   SSL准备,暂未实现
Unt_public.pas     变量定义
winsock2.pas       原始winsocket
XWinSock2.pas      封装后的winsocket

采用Windows的异步Select模型,消息采用异步通知模式,针对构建通讯的客户端适用。

调用前需要注册回调函数,分别为消息回调和协议回调,原形:

Type
  //消息事件的CALLBACK
  TMsgCallBack=Procedure (msg:Pchar) of object;
  //网络事件的CALLBACK
  TNetCallBack=Procedure (NetStatus:integer) of object;

引用动态库导出的函数:

function gcInitSys(NetBack:TNetCallBack;MsgBack:TMsgCallBack):Boolean;external 'ntCommComp.dll';
procedure gcFreeSys;external 'ntCommComp.dll';
procedure gcConnServer(Server:PChar;Port:integer;ProxyType:integer;PoryxyServer:PChar;ProxyPort:integer;ProxyUsername:PChar;PorxyPassword:PChar);external 'ntCommComp.dll';
procedure gcDisConnServer;external 'ntCommComp.dll';

procedure gcSendMsg(MsgType:integer;Content:PChar;GroupID:integer;ObjUsername:PChar);external 'ntCommComp.dll';

调用步骤:

1、gcInitSys(NetBack,MsgBack)
2、在回调中即可收到DLL返回的消息
3、注销的时候请调用gcFreeSys

消息发送请调用gcSendMsg,注意消息的字符指针。

下载页面