基于完成端口(CompletionPort)实现的服务器端网络通信模块,在VC和.Net下均可使用

 

NetServer是一个网络通信模块,基于CompletionPort实现,适用于服务器端。它在VC下实现,可以直接在VC环境下使用,也可以通过DllImport.Net环境下使用。

     它实现的功能如下:
   

Code

   
    其中在
.Net环境下使用时要注意两点:

1、 在指定自定义的委托实例时,需要用成员变量来保存委托实例。使用局部或临时变量来保存委托实例的话,变量在其作用域外就会被垃圾回收,这样当它异步回调委托时就会报错。

2、 读取接收到的数据时,需要把数据从非托管的内存拷贝到托管的内存,具体请见:C++ Dll回调C#方法

 

 它开放了一些设置的接口,但是一般情况下使用其默认配置即可。所以一般情况下,其调用顺序为:

 SetAcceptConnectFPSetDataReceivedFPSetDataSentFPSetHandleDisconnectFPSetListenPort  à  StartUp  à  ReceiveSendShutDownIsStartUp  à  Stop

你可能感兴趣的:(.net)