If you will duplicate HBINET cod in other project then such extension
will not work for you so I strongly suggest to invest time in updating
Harbour API. If you present what you exactly need then I can help in
this job.


I'd prefer to not duplicate hbinet.c and make all necessary modifications there, too. But I don't sure that all my changes will be suitable for others.
 I've made already all what I need now.
First of all - C level API. Appropriate functions are rewritten, so the Harbour level functions ( HB_FUNC(...) ) are wrappers over those C level functions. This is made, though, only for the basic functions, which I need - connect, accept, send, receive, select.
 Secondly, I've added functions to select from multiply sockets.
And, finally, and this is what, probably, will not be suitable for others - I got rid of the HB_SOCKET_STRUCT and appropriate stuff, so the sockets are directly passed as parameters and returned, assuming that included in HB_SOCKET_STRUCT things may be moved to Harbour level, if needed in specific application. I did this to make the code less complicated, to simplify writing additional functions - now, due to the hb_inetSocketFinalize() and all related gc things I can't place new functions in other file ( see the hbinet.c thread ).

The project I'm working on is a db server with appropriate rdd as a substitution for ADS. ADS is a perfect product, but it isn't free and it is quite expensive. Besides, writing such a server specially for Harbour will help to avoid some problems, which ADS has ( now to solve them we need to invent different workarounds ). And, finally, we can implement some new interesting stuff - as server-side harbour level procedures, for example. I've wrote basic part already, and few my applications works perfectly with it ( including such a big as Personnel and Salary accounting ).

 Regards,
   Alexander.

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

Reply via email to