HP-Socket v3.2.2

==========================================================================================
v3.2.2 upgrade :
==========================================================================================

> Increase some methods for helps:
-----------------

  1. Batch sending methods: SendPackets()
        1) IClient / IServer / IAgent add the sending methods: SendPackets(dwConnID, pBuffers[], iBufferCount)
        2) For TCP component - send all packets in order
       
    3) For UDP component - make all the packets combined into one packet
    and send (the length of the packet can not be greater than the maxinum
    of length of a UDP packet which is set up)
  2. small files sending methods: SendSmallFile()
       
    1) ITcpClient / ITcpServer / ITcpAgent add the small files sending
    methods: SendSmallFile(dwConnID, lpszFileName, pHead, pTail)
        2) By the parameters: pHead and pTail,each can add some definitions int the files heads and tails
        3) SendSmallFile() only send the files whose size small than  4096 KB
  3. HPSocket.dll and HPSocket4C.dll add following export methods:
        1) SYS_WSAGetLastError():call the system's WSAGetLastError()
        2) SYS_SetSocketOption():call the system's setsockopt()
        3) SYS_GetSocketOption():call the system's getsockopt()
        4) SYS_IoctlSocket()           :call the system's ioctlsocket()
        5) SYS_WSAIoctl()               :call the system's WSAIoctl()

> update instructions:
-----------------

  1. HP-Socket v3.2.1 or previous versions for applications can upgrade to HP-Socket v3.2.2 safely

 

==========================================================================================
v3.2.1 upgrade:
==========================================================================================

> add communication components TcpAgent / TcpPullAgent :
-----------------

  1. for
    the proxy server and transit server etc. , server can be the client and
    launche a large-scale service connections to other servers.
  2. TcpClient
    / TcpPullClient basic on  Event Select communication model,every
    component object manages one Socket and open a thread ,but the above
    scenario is not suitable.
  3. TcpAgent / TcpPullAgent basic on
    IOCP communication model,one componet object manages many Sockets,for
    the clients communication components of the proxy server and transit
    server.
  4. TcpAgent / TcpPullAgent methods are easy to use and provide following interface methods:
         1) notice interface methods:
           OnPrepareConnect(CONNID dwConnID, SOCKET socket)
            OnConnect(CONNID dwConnID)
            OnSend(CONNID dwConnID, const BYTE* pData, int iLength)
            OnReceive(CONNID dwConnID, const BYTE* pData, int iLength)    //(Push model)
            OnReceive(CONNID dwConnID, int iLength)                        //(Pull model)
            OnClose(CONNID dwConnID)
            OnError(CONNID dwConnID, EnSocketOperation enOperation, int iErrorCode)
            OnAgentShutdown()
         2) main operating methods:
           Start(LPCTSTR pszBindAddress = nullptr, BOOL bAsyncConnect = TRUE)
            Stop()
            Connect(LPCTSTR pszRemoteAddress, USHORT usPort, CONNID* pdwConnID = nullptr)
            Send(CONNID dwConnID, const BYTE* pBuffer, int iLength, int iOffset = 0)
            Disconnect(CONNID dwConnID, BOOL bForce = TRUE)
            Fetch(CONNID dwConnID, BYTE* pData, int iLength)    //(Pull model)
  5. add TcpAgent / TcpPullAgent excemples for user:
        1) Agent-PFM
        2) Agent-Pull
        3) Agent-4C
  6. add TcpAgent + TcpServer HTTP proxy server excemple:HttpProxy

> add HPSocket for Java SDK:
-----------------

  1. provide Java development package:hpsocket-3.2.1.jar(by JNA ,now only supports Windows platform)
  2. running environment:JDK 1.6+,JVM runs server mode("java -server",in client mode,the properties affected)
  3. add the project TestEcho-4J,show the HPSocket4J using methods (includes Pull model examples and sample performance tests)
  4. MBCS and Unicode version are in the jars: org.jessma.hpsocket.mbcs and org.jessma.hpsocket.unicode
  5. HPSocket for Java SDK provides following communication components :
        1) TcpServer:TCP communication server component ,supports  PUSH/Pull model
        2) TcpClient:TCP communication client component ,supports  PUSH/Pull model
        3) TcpAgent :TCP communication  Agent component ,supports  PUSH/Pull model
        4) UdpServer:UDP communication server component ,supports  Push model
        5) UdpClient:UDP communication client component ,supports  Push model
  6. HPSocket4J using methods (using TcpAgent for example):
       /* 0: add the jars into the project: hpsocket-3.2.1.jar and jna-4.1.0.jar */
       
        /* 1: create communication component object  */
        TcpAgent agent = TcpAgent.create(Mode.PUSH);
       
        /* 2: set the callback function object  */
        // (optional )
        agent.setCallBackOnPrepareConnect(new OnPrepareConnectImpl());
        // (optional )
        agent.setCallBackOnConnect(new OnConnectImpl());
        // (required )Push model need to set OnReceive callback function object
        agent.setCallBackOnReceive(new OnReceiveImpl());
        // (required )Pull model need to set OnPullReceive callback function object
        // agent.setCallBackOnPullReceive(new OnPullReceiveImpl());
        // (optional )
        agent.setCallBackOnSend(new OnSendImpl());
        // (required )
        agent.setCallBackOnClose(new OnCloseImpl());
        // (required )
        agent.setCallBackOnError(new OnErrorImpl());
        // (optional )
        agent.setCallBackOnAgentShutdown(new OnAgentShutdownImpl());
       
        /* 3:start communication component  */
        agent.start("127.0.0.1", false);
       
        /* 4:connect server */
        agent.connect("localhost", (short)5555, pdwConnID);
       
        /* 5:handle communication data */
        // response OnReceive / OnPullReceive events and receive data
        // use    agent.send(dwConnID, data, data.length) to send data
       
        /* 6:close communication component  */
        agent.stop();
       
        /* 7:destroy communication component  */
        TcpAgent.destroy(agent);

> optimize data transmission / reception strategies:
-----------------

  1. Server and Agent components provide the following three types of data transmission policy:
       
    1)PACK - packing mode(default)    :try to send data formmultiple
    operetions together to send and add transmission efficiency.
       
    2)SAFE - sage mode        :try to make data formmultiple operetions
    together to send,control the transmission rate ,and avoid buffer
    overflow
        3)DIRECT - direct mode        :each sending operation is
    delivered directly ,for when the loading is not high but it requires
    real-time high places.
  2. Server and Agent components provide the following two data-accept events:
        1)SERIAL - serial mode(default):trigger the same connection in the order: OnReceive and OnClose/OnError event
       
    2)PARALLEL - parallel mode    :in different communication threads ,
    trigger the same connection OnReceive and OnClose/OnError event in the
    same time

> other updates :
-----------------

  1. IServer' GetClientAddress() method changes the name to : GetRemoteAddress()
  2. IClient' Send() method deletes the parameter: “CONNID dwConnID”
  3. IClient/IServer/IAgent' Send() method adds the pointer offset parameter “int iOffset” for sending data buffer
  4. add EnSendPolicy enumerated type,IServer/IAgent add sending mode setting method: SetSendPolicy()
  5. add EnRecvPolicy enumerated type,IServer/IAgent add receving mode setting method: SetRecvPolicy()
  6. IServer/IAgent add method:BOOL GetAllConnectionIDs(),get all connected CONNID
  7. IUdpServer add method:SetPostReceiveCount(),set Receive Number of predelivery
  8. EnServerError / EnClientError enumerated type unite into EnSocketError
  9. EnSocketError / EnHandleResult / EnFetchResult enumerated type moves out of the original class
  10. IClient/IServer/IAgent add method:BOOL GetPendingDataLength() to get the length of the data which is not issued
  11. HPSocket4C.dll add method SendPart(),supports assigning the pointer offset parameter for data buffer
  12. add HPSocket for C# SDK(by int 2e )
  13. add HPSocket easy language support lib(by Yecate )
  14. public code package vc-common-src upgrade tp v2.3.5(reference:vc-common-src v2.3.5' Change Log)

   
> update instructions:
-----------------

  1. HP-Socket v3.2.1 Comply HP-Socket v3.1.3 and previous versions in the functions
  2. interface changes,it's needed to modify the programcode. Notice:the program can be replaced directly by v3.1.3' DLL
  3. EnServerError / EnClientError enumerated type unite into EnSocketError,notice some of the enumerated tyoe changed

 

==========================================================================================
v3.1.3 upgrade:
==========================================================================================

> add other language Demo:
-----------------

  1. C#
  2. Delphi
  3. E language

> Bug Fixed:
-----------------

  1. repair IP address misjudgment bug:
       
    1) when client component connnecting to the server,if the IP of the
    server has full bit(12个numbers:‘AAA.BBB.CCC.DDD’),then judged as the
    domain name
        2) affect component :all TCP/UDP client components
        3) affect version:v3.1.2 and all previous versions
  2. repair the domain name and host name's IP parsing error bug:
       
    1) when client component connecting to the server by the domain name or
    host name,it may be resolved to the wrong IP address.
        2) affectcomponent :all TCP/UDP client components
        3) affect versions:v3.1.2 and all previous versions

   
> update instructions:
-----------------
1、use HP-Socket v3.1.2 or previous versions for applications can upgrade to HP-Socket v3.1.3 safely

 

==========================================================================================
v3.1.2 upgrade:
==========================================================================================

> alter the Server component's OnClose() / OnError() event's trigger rules:
-----------------

  1. The
    TCP/UDP Server component of original versions,when you close a
    connection ,it might also fire the OnClose() event and several OnError()
    events
  2. for this possibility,the application need to make OnClose() / OnError() to process the event synchronously
  3. from
    v3.1.2 ,when there are OnClose() / OnError() events occuring
    together,component only notice the first event ,and ignore the left
    event.
  4. Therefore,when the application processes the OnClose() /
    OnError() event , it not need to deal with syschronization,and reduce
    the possibile bugs and writing or testing code burdens.

    Example One:
    --------------------------------------------------------------------------------------
    ISocketListener::EnHandleResult CServerDlg::OnClose(CONNID dwConnID)
    {
       
// original versions:there are the concurrency of
OnClose()/OnError(),put the code in the critical area and test the
returned value

        CCriSecLock locallock(m_csPkgInfo);    // <-- critical area

        PVOID pInfo = nullptr;

       
if(m_Server->GetConnectionExtra(dwConnID, &pInfo) &&
pInfo != nullptr)    // <-- testing the returned value
        {
            m_Server->SetConnectionExtra(dwConnID, nullptr);
            delete pInfo;
        }
    }

    Example two:
    --------------------------------------------------------------------------------------
   ISocketListener::EnHandleResult CServerDlg::OnClose(CONNID dwConnID)
    {
       
// v3.1.2 version:only receive one OnClose()/OnError() event ,can
remove the code out of the critical area and testing the code.

        PVOID pInfo = nullptr;
        m_Server->GetConnectionExtra(dwConnID, &pInfo);
        ASSERT(pInfo != nullptr);

        delete pInfo;
    }

> other updates :
-----------------

  1. change TCP Server default parameters :
        1) DEFAULT_SOCKET_LISTEN_QUEUE    : 300
        2) DEFAULT_ACCEPT_SOCKET_COUNT    : 300
        3) DEFAULT_FREE_SOCKETOBJ_POOL    : 150
        4) DEFAULT_FREE_SOCKETOBJ_HOLD    : 450
        5) DEFAULT_FREE_BUFFEROBJ_POOL    : 300
        6) DEFAULT_FREE_BUFFEROBJ_HOLD    : 900
  2. change  UDP Server default parameters :
       1) DEFAULT_FREE_SOCKETOBJ_POOL    : 150
        2) DEFAULT_FREE_SOCKETOBJ_HOLD    : 450
        3) DEFAULT_FREE_BUFFEROBJ_POOL    : 300
        4) DEFAULT_FREE_BUFFEROBJ_HOLD    : 900

> update instructions:
-----------------
1、 HP-Socket v3.1.1 or previous versions for applications can upgrade to HP-Socket v3.1.2 safely

 

==========================================================================================
v3.1.1 upgrade:
==========================================================================================

> add export the C function's dynamic link library: HPSocket4C.dll:
-----------------

  1. add the code files: HPSocket4C.h and HPSocket4C.cpp,for creating  HPSocket4C.dll
  2. export the C function and make other language(as:C/C#/Delphi etc)to use HPSocket easily
  3. HPSocket4C.dll using methods
      method one:
        --------------------------------------------------------------------------------------
            (0) (C/C++ programs)include HPSocket4C.h header files
            (1) call  ::Create_HP_XxxListener() function to create listener object
            (2) call  ::Create_HP_Xxx(pListener) function to create  HPSocket object
            (3) call  ::HP_Set_FN_Xxx_OnYyy(pListener, ...) function to set the call back function of listener
            (4) call export functions to operate HPSocket object
            (5) ...... ......
            (6) call  ::Destroy_HP_Xxx(pSocket) function to destory HPSocket object
            (7) call  ::Destroy_HP_XxxListener(pListener) functions to destory the listener object
    method two:
        --------------------------------------------------------------------------------------
            (1) the application need to use the export functions of the package to the specific language class.
            (2) after packaging encapsulated,use HPSocket in the OOP way
  4. HPSocket4C.dll dynamic link library (release version)
        (1) x86/HPSocket4C.dll        - (32bit/MBCS/Release)
        (2) x86/HPSocket4C_D.dll    - (32bit/MBCS/DeBug)
        (3) x86/HPSocket4C_U.dll    - (32bit/UNICODE/Release)
        (4) x86/HPSocket4C_UD.dll    - (32bit/UNICODE/DeBug)
        (5) x64/HPSocket4C.dll        - (64bit/MBCS/Release)
        (6) x64/HPSocket4C_D.dll    - (64bit/MBCS/DeBug)
        (7) x64/HPSocket4C_U.dll    - (64bit/UNICODE/Release)
        (8) x64/HPSocket4C_UD.dll    - (64bit/UNICODE/DeBug)

> start the Buffer Pool caching mechanism:
-----------------

  1. Common/Src adds the code file : bufferpool.h and bufferpool.cpp ,and achieve the Buffer Pool caching mechanism
  2. by
    the Buffer Pool caching mechanism and enhance the efficiency of memory
    usage,reduce the dynamic memory allocation and release operation and
    avoid the memory hole
  3. CTcpClient use CItemPool and TItemList to achieve transmit buffer
  4. CUdpClient use CItemPool and TItemList to achieve transmit buffer
  5. CTcpPullClient use CItemPool and TItemList to achieve transmit bufferand PULL bufferand
  6. CTcpPullServer use CBufferPool and TBuffer to achieve PULL bufferand

> other updates :
-----------------

  1. IServer adds the interface method DisconnectLongConnections() to disconnect all long connections.
  2. IServer deletes interface method GetConnectionCriSec()
  3. IClient adds methods Get/SetFreeBufferPoolSize()、Get/SetFreeBufferPoolHold() to set the size and threshold of Buffer Pool
  4. IPullServer deletes  methods  Get/SetFreePullBufferPool()、Get/SetFreePullBufferHold()
  5. HPSocket.dll and HPSocket4C.dll use /MT(d) for the options recompile,eliminate dependency on the runtime library
  6. add the TestEcho-4C testing program,show the using methods of HPSocket4C.dll

> update instructions:
-----------------

  1. HP-Socket v3.0.2 or previous versions for applications can upgrade to HP-Socket v3.1.1 safely
  2. if you want to import HPSocket4C.dll into the project , see the way of using HP-Socket,refer to the example project TestEcho-4C

 

==========================================================================================
v3.0.2 upgrade:
==========================================================================================

> HP-Socket complied as a dynamic link library:
-----------------

  1. applications can use the HP-Socket by the source code or importing the dynamic link library mode.
  2. dynamic link library using methods
        method one:
        -----------------------------------------------------------------------
            (0) the application contains the SocketInterface.h and HPSocket.h head files
            (1) call  HP_Create_Xxx() function to create  HPSocket object
            (2) after using the call  HP_Destroy_Xxx() function to destroy HPSocket object
        method two:
        -----------------------------------------------------------------------
            (0) the application contains the SocketInterface.h and HPSocket.h head files
            (1) create the CXxxWrapper wrapper and use the HPSocket object by the smart pointer wrapper.
  3. dynamic link library(release version)
        (1) x86/HPSocket.dll    - (32bit/MBCS/Release)
        (2) x86/HPSocket_D.dll    - (32bit/MBCS/DeBug)
        (3) x86/HPSocket_U.dll    - (32bit/UNICODE/Release)
        (4) x86/HPSocket_UD.dll    - (32bit/UNICODE/DeBug)
        (5) x64/HPSocket.dll    - (64bit/MBCS/Release)
        (6) x64/HPSocket_D.dll    - (64bit/MBCS/DeBug)
        (7) x64/HPSocket_U.dll    - (64bit/UNICODE/Release)
        (8) x64/HPSocket_UD.dll    - (64bit/UNICODE/DeBug)

> other updates :
-----------------

  1. move the component interface and the statement listener to SocketInterface.h
  2. IServer
    add interface methods GetConnectionCount()/GetConnectPeriod() and  each
    gets the number of connections and the time of connection.
  3. IServer interface methods GetListenAddress()/GetClientAddress()'s CString& change the parameter to LPTSTR
  4. IClient interface methods GetLocalAddress()'s CString& change the parameter to LPTSTR
  5. the function's CString& in SocketHelper.h change the parameter to LPTSTR
  6. the example projects: TestEcho-Pull and TestEcho-PFM use HP-Socket by importing the dynamic link library mode

> update instructions:
-----------------

  1. HP-Socket v3.0.1 or previous versions for applications can upgrade to HP-Socket v3.0.2
  2. Beacause some parameters of the interface methods have changed ,so please alter it refer to the example project.
  3. if
    the project want to use HP-Socket by the way of a dynamic link
    library,please refer to the TestEcho-Pull or TestEcho-PFM example
    project.

 

==========================================================================================
v3.0.1 upgrade:
==========================================================================================

> add UDP communication component :
-----------------

  1. add two UDP communication components :CUdpServer as the server component and CUdpClient as the client component
  2. server component  CUdpServer use IOCP communication model
  3. client component  CUdpClient use Event Select communication model
  4. UDP communication component Interface is the same of the original TCP communication component ,simple and practical
  5. UDP communication component includes communication line automatic monitoring mechanism
  6. add UDP communication component example project: TestEcho-UDP

> Code refactoring and optimization:
-----------------

  1. Specification the name of all Interface、class and code file
  2. Refactoring and optimization a lot of component code
  3. server component add the mechanism of read-write lock,effect balance deal-performance and safety
  4. server component's Socket object Cache list set locking the time,upgrade the degree of access-safety

> update instructions:
-----------------

  1. the Application of using HP-Socket v2.2.3 can safely upgrade to HP-Socket v3.0.1
  2. because of renaming a lot of Interface、class and code file ,so when system upgrading , this need to relevant change

 

==========================================================================================
v2.2.3 upgrade:
==========================================================================================

> the data type of connect ID change to ‘CONNID’:
-----------------

  1. in SocketHelper.h ,it defines as CONNID data type(default:typedef ULONG_PTR CONNID)
  2. Application can make  CONNID defined as it hoped type(eg:ULONG / ULONGLONG ...)
  3. order to easy to transplant and aegis,Application's everywhere should use the‘CONNID’ type quote connect ID

> server  Socket component support as every connection tie attached data:
----------------

  1. IServerSocket and CIocpServer add method  Get/SetConnectionExtra()
  2. Through the above two method ,application can make every connection tie random attached data and take it out

> other updates :
-----------------

  1. broaden CIocpServer's the limit of the number of the biggset IOCP work thread  (64 change to 500)
  2. server 
    Socket component's Disconnect()  method adds one marked parametric
    ‘bForce’,directive whether forcibly disconnect connection
  3. change connect ID's generate rule , avert generated number is 0 connection ID

 

==========================================================================================
v2.2.2 upgrade:
==========================================================================================

> optimization heartbeat checking's interrelated function:
-----------------

  1. IServerSocket and IClientSocket ,theirs Get/SetKeepAliveTimes()  method changes to Get/SetKeepAliveTime()
  2. CIocpServer and CClientSocket ,theirs default KeepAliveTime attribute changes to 5000
  3. CIocpServer and CClientSocket ,theirs default KeepAliveInterval attribute changes to 3000

==========================================================================================
v2.2.1 upgrade:
==========================================================================================

> Pull modelsupport :
-----------------

  1. ISocketListener add the method for the Pull model to get the data receiving notification :OnReceive(dwConnID, int)
  2. add
    PULL Socket Interface: IPullSocket,the interface's Fetch(dwConnID,
    pBuffer, iLength)  method to catch the data of communication

> Server:
-----------------

  1. server  Socket Interface: ISocketServer renamed to IServerSocket
  2. add PULL Server Socket Listrner abstract class: CPullServerSocketListener
  3. add PULL Server Socket Listrner: IPullServerSocket
  4. add PULL Server Socket Implementation class : CIocpPullServer

> Client:
-----------------

  1. client  Socket Interface: ISocketClient renamed to IClientSocket
  2. client  Socket Implementation class :CSocketClient renamed to CClientSocket
  3. add PULL Client Socket Listrner abstract class: CPullClientSocketListener
  4. add PULL Client Socket Interface: IPullClientSocket
  5. add PULL Client Socket Implementation class: CPullClientSocket

> other upgrade:
-----------------

  1. add PULL Socket testing program: TestEcho-Pull
  2. In the SocketHelper.h (.cpp) there are some structures for help.

> update instructions:
-----------------

  1. use HP-Socket v2.1.1 or previous versions for applications can upgrade to v2.2.1 safely
  2. beacause
    the names of  ISocketServer、ISocketClient and CSocketClient have
    changed,therefore,the application need to modifie the name and header
    file name .

==========================================================================================
v2.1.1 upgrade:
==========================================================================================

> Server:
-----------------

  1. IServerSocketListener cancel OnPrepareSocket(connID, socket) notification method
  2. IServerSocketListener
    alter OnAccept((connID, soClient) notification method ,add the
    parameter :‘soClient’,to achieve the original OnPrepareSocket(connID,
    socket) notification method function
  3. IServerSocketListener add OnPrepareListen(soListen) notification method ,to set the listerner to the SOCKET Options of socket
  4. ISocketServer add method  GetListenAddress(strAddress, usPort),to get the address information of the listen to Socket
  5. ISocketServer add method  GetClientAddress(connID, strAddress, usPort),for a connection of a client address.
  6. the optimization of Socket buffer pools and the managements of memory block buffer pool.
  7. change the method names for some roperty-accessings
  8. fix bugs : deadlock phenomenon may happen under special circumstances.

> Client:
-----------------

  1. ISocketServer add method  GetLocalAddress(strAddress, usPort),for get the  address information of Client Socket.
  2. Optimize the data-transmission mode , and improve the efficiency of data transmission

> other upgrade:
-----------------

  1. TestEcho and TestEcho-PFM testing program optimization
  2. in SocketHelper.h (.cpp) , there are some functions for help
  3. for SocketHelper.h ,there are the comments of all interfaces ,classes and methods defined.

 

==========================================================================================
v2.0.1 upgrade:
==========================================================================================

> Server
-----------------

  1. IServerSocketListener
    add OnPrepareSocket(connID, socket) notice the method  for set the
    SOCKET Options or filter client connection before using the socket
  2. ISocketServer add method  Disconnect(connID) to disconnect the client connections
  3. add IServerSocketListener' subclass CServerSocketListener,provide a default(full) notification processing method

> Client:
-----------------

  1. IClientSocketListener
    add OnPrepareSocket(connID, socket) notification method for set the
    SOCKET Options before using the socket
  2. support asynchronous
    Connect:ISocketServer  Start() method add one parameter (BOOL
    bAsyncConnect) set whether to use the asynchronous Connect
  3. add IClientSocketListener subclass: CClientSocketListener,provide default(null)notification handle methods。
  4. repair BUG:appear package loss when  its ultra-high load

> other upgrade:
-----------------

  1. support  Windows x64 platform
  2. optimzate TestEcho and TestEcho-PFM testing program.
  3. TestEcho client adds “asychronous connection” program for example.
  4. TestEcho server adds “connection filter” and “initiative disconnect ” programs for example
时间: 2024-12-30 13:27:46

HP-Socket v3.2.2的相关文章

socket programming example

1. 头文件 vi server.h  // 头文件 // 注册信号处理函数 int catch_signal(int sig, void (*handler) (int)); // 从socket读数据到char *buf int read_in(int socket, char *buf, int len); // 错误函数, 当exit_val=0只输出错误信息, 不退出程序. 其他值输出错误信息并退出程序 void error(char * msg, int exit_val); //

惠普HP Pavilion g4怎么添加固态硬盘?

  电脑型号惠普 HP Pavilion g4 Notebook PC 笔记本电脑 ,操作系统Windows 8.1 专业版 64位 ( DirectX 11 ). 1.拆箱 光驱位硬盘托架12.7mm SATA3镁铝双钽电容双灯四通道 JEYI佳翼H27,USB小光驱盒 佳翼H502,饥饿鲨(OCZ) Arc 100苍穹系列 120G 固态硬盘 2.下载好所需系统,以及nt6 hdd installer v3.1.4 nt6硬盘系统安装器;通过USB小光驱盒连接固态硬盘到电脑,使用系统自带磁盘

[转载]postgres+socket.io+nodejs实时地图应用实践

标签 PostgreSQL , 服务端编程接口 , pl language , 小程序 , PostGIS , 异步消息 , notify , listen , nodejs , socket.io 背景 转载自: https://my.oschina.net/freegis/blog/761713 是使用PostgreSQL+node.js+socket.io实现的一个实时地图,其中用到了PostgreSQL的异步消息通知机制(notify/listen),以及数据库的触发器,PostGIS地

OCILIB v3.9.0发布 跨平台的Oracle驱动程序

OC++ILIB是一个跨平台的Oracle驱动程序,可提供非常快速和可靠地访问Oracle数据库.它提供了一个丰富,功能齐全,并易于使用的API .OCILIB 支持运行的所有Oracle平台. 主要的功能包括: &http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;    *提供了丰富的,功能齐全且易于使用的API      *运行在所有Oracle平台     *是用纯的ISO C代码与本地的ISO ç Unicod

利用LoadRunner编写socket性能测试脚本

一.概述 Loadrunner拥有极为丰富的工具箱,供予我们制造出各种奇妙魔法的能力.其中就有此次要讨论的socket套接字操作. 二.socket概述 socket是操作系统中I/O系统的网络延伸部分,它扩展了操作系统的基本I/O到网络通信,使进程和机器之间的通信成为可能.如果想完全地理解socket在Loadrunner中如何工作的,熟悉一些关于它的历史会很有帮助. 当前常用的socket,最早起源于BSD UNIX类的操作系统.在UNIX系统上,比如BSD,把对网络的支持加入操作系统,以一

【C/S通信交互之SOCKET篇】COCOS2DX(CLIENT)使用BSD SOCKET与MINA(SERVER)手机网游通信框架!

本站文章均为 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/iphone-cocos2dx/844.html 其实对于此篇算是对于这段时间网络研究的一个总结. 对于手游网络通信的交互,一般情况下,Socket长连接直接使用Mina框架即可,对于Http短连接使用Servlet 入口即可(那么对于后期将陆续更新Servlet博文) 那么本篇主要介绍Socket长连接,当然与此配对的跨平台通信则选择了BSD

阿里云ECS部署zabbix v3.2.3

阿里云ECS部署zabbix v3.2.3 阿里云ECS部署zabbix 3.2:并接入RDS 关于zabbix及相关服务软件版本: Linux: ECS_CentOS 7.2 nginx: 1.9.15 mysql: RDS或自建MySQL PHP:5.5.35 一.购买ECS & RDS 这里购买ECS和RDS最好买在一个区域,这样RDS就不用申请公网访问地址了,直接添加安装zabbix的ECS_IP白名单就OK了. 如果购买ECS和RDS都不会,那就不用往下看了. 二.安装Nginx 安装

SMB v3远程拒绝服务漏洞分析

本文讲的是SMB v3远程拒绝服务漏洞分析, 漏洞简介 此漏洞是由于Windows处理SMB协议驱动mrxsmb20.sys在解析Tree Connect Response时,未正确处理包长度导致的空指针引用漏洞.当Tree Connect Response包中smb协议长度大于0x400(1024)时,会造成蓝屏崩溃. 漏洞重现 根据已公开的 POC,在win10 14393中重现了此漏洞.需要注意的是,Windows系统中可能默认监听了445端口,在这种情况下运行POC会出现如下错误: so

超越界限,定义未来-- HP刀片工作站WS460c Gen9无惧4K挑战

现如今,媒体行业已经进入了数字化的时代,从视频采集.后期制作.成品交付以及数据制作,缺一不可.海量级的视频剪辑资料要依赖强大的硬件平台进行编辑处理,因此,拥有一部性能卓越.高效率且安全可靠的硬件产品,在影视制作中能够起到事半功倍的作用. 4K时代带来的难题 4K影视制作已经从概念成为现实.4K超高清.全媒体.多终端.全覆盖,已成当下趋势.当 观众无处不在,媒体行业该怎么变?新IT是灵药,旧广电从此大不同.媒体行业的对于剪辑制作的要求越来越多样化,传统高清制作的设备,已经无法支撑现在影 视4K制作