Wow Wee. Thanks a Zillion.

Will this work on Wince too, so we have a client/server solution for Wince?

Thanks
Abe

 

druzus wrote:
> 
> Revision: 12382
>          
> http://harbour-project.svn.sourceforge.net/harbour-project/?rev=12382&view=rev
> Author:   druzus
> Date:     2009-08-31 22:56:45 +0000 (Mon, 31 Aug 2009)
> 
> Log Message:
> -----------
> 2009-09-01 00:56 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
>   * harbour/harbour.spec
>   * harbour/harbour-win-spec
>   * harbour/harbour-wce-spec
>   * harbour/bin/hb-func.sh
>   * harbour/contrib/Makefile
>   + harbour/contrib/hbnetio
>   + harbour/contrib/hbnetio/netio.h
>   + harbour/contrib/hbnetio/netiomt.prg
>   + harbour/contrib/hbnetio/netiocli.c
>   + harbour/contrib/hbnetio/netiosrv.c
>   + harbour/contrib/hbnetio/Makefile
>     + added new library: HBNETIO.
>       It implements alternative RDD IO API which uses own TCP/IP sockets
>       to exchange data between client and server.
>       This library contains client and server code and is fully MT safe.
>       On client side it's enough to execute:
>          NETIO_CONNECT( [<cServer>], [<cPort>], [<nTimeOut>] ) -> <lOK>
>       function to register alternative NETIO RDD API and set default
>       server address and port.
>          <cServer>  - server addres       (default 127.0.0.1)
>          <cPort>    - server port         (default 2941)
>          <nTimeOut> - connection timeout  (default -1 - not timeout)
>       Above settings are thread local and parameters of the 1-st
> successful
>       connection are used as default values for each new thread.
>       After registering NETIO client by above function each file starting
>       "net:" prefix is automatically redirected to given NETIO server,
> i.e.
>          use "net:mytable"
>       It's also possible to pass NETIO server and port as part of file
> name,
>       i.e.:
>          use "net:192.168.0.1:10005:mytable"
>       On the server side the following functions are available:
>       create NETIO listen socket:
>          NETIO_LISTEN( [<nPort>], [<cAddress>], [<cRootDir>] )
>                                                 -> <pListenSocket> | NIL
>       accept new connection on NETIO listen socket:
>          NETIO_ACCEPT( <pListenSocket> [, <nTimeOut>] )
>                                                 -> <pConnectionSocket> |
> NIL
>       start connection server:
>          NETIO_SERVER( <pConnectionSocket> ) -> NIL
>       stop connection accepting or connection server:
>          NETIO_SERVERSTOP( <pListenSocket> | <pConnectionSocket>, <lStop>
> )
>                                                 -> NIL
>       activate MT NETIO server (it needs MT HVM):
>          NETIO_MTSERVER( [<nPort>], [<cAddress>] ) -> <pListenSocket> |
> NIL
> 
>       To create NETIO server is enough to compile and link with MT HVM
>       this code:
> 
>          proc main()
>             local pListenSocket
> 
>             pListenSocket := netio_mtserver()
>             if empty( pListenSocket )
>                ? "Cannot start server."
>             else
>                wait "Press any key to stop NETIO server."
>                netio_serverstop( pListenSocket )
>                pListenSocket := NIL
>             endif
>          return
> 
>       NETIO works with all core RDDs (DBF, DBFFPT, DBFBLOB, DBFNTX,
> DBFCDX,
>       DBFNSX, SDF, DELIM) and any other RDD which inherits from above or
>       use standard RDD IO API (hb_file*() functions).
>       Without touching even single line in RDD code it gives the same
>       functionality as REDBFCDX in xHarbour but for all RDDs.
>       It's possible that such direct TCP/IP connection is faster then
>       file server protocols especially if they need more then one IP frame
>       to exchange data so it's one of the reason to use it in such cases.
>       Please make real speed tests.
>       The second reason to use NETIO server is resolving problem with
>       concurrent access to the same files using Harbour applications
>       compiled for different platforms, i.e. DOS, LINUX, Windows and OS2.
>       It's very hard to configure all client stations to use correct
>       locking system. NETIO fully resolves this problem so it can be
>       interesting alternative also for MS-Windows users only if they
>       do not want to play with oplocks setting on each station.
>       I'm interesting in user opinions about real life NETIO usage.
> 
>       Have a fun with this new toy ;-)
> 
>   + harbour/contrib/hbnetio/tests
>   + harbour/contrib/hbnetio/tests/netiotst.prg
>   + harbour/contrib/hbnetio/tests/netiotst.hbp
>   + harbour/contrib/hbnetio/tests/data
>     + added simple test code for NETIO. It activates NETIO MT server
>       and then connects to this server to create and browse table with
>       memo file and production index with few tags.
> 
> Modified Paths:
> --------------
>     trunk/harbour/ChangeLog
>     trunk/harbour/bin/hb-func.sh
>     trunk/harbour/contrib/Makefile
>     trunk/harbour/harbour-wce-spec
>     trunk/harbour/harbour-win-spec
>     trunk/harbour/harbour.spec
> 
> Added Paths:
> -----------
>     trunk/harbour/contrib/hbnetio/
>     trunk/harbour/contrib/hbnetio/Makefile
>     trunk/harbour/contrib/hbnetio/netio.h
>     trunk/harbour/contrib/hbnetio/netiocli.c
>     trunk/harbour/contrib/hbnetio/netiomt.prg
>     trunk/harbour/contrib/hbnetio/netiosrv.c
>     trunk/harbour/contrib/hbnetio/tests/
>     trunk/harbour/contrib/hbnetio/tests/data/
>     trunk/harbour/contrib/hbnetio/tests/netiotst.hbp
>     trunk/harbour/contrib/hbnetio/tests/netiotst.prg
> 
> 
> This was sent by the SourceForge.net collaborative development platform,
> the world's largest Open Source development site.
> _______________________________________________
> Harbour mailing list
> Harbour@harbour-project.org
> http://lists.harbour-project.org/mailman/listinfo/harbour
> 
> 

-- 
View this message in context: 
http://www.nabble.com/SF.net-SVN%3A-harbour-project%3A-12382--trunk-harbour-tp25231702p25233147.html
Sent from the Harbour - Dev mailing list archive at Nabble.com.

_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to