Does anyone know or use this library?

Does anyone know or use this library?

http://synapse.ararat.cz

"The SYNAPSE library aims to create a complete library of classes and functions that would markedly simplify application programming of network communication using Winsock.

At first glance this effort might seem needless as there are many free components covering this area, However they mostly use asynchronous methods while SYNAPSE library operates in a synchronous method.

After having a look at 'competitive' libraries I must say all of them were created relatively early (for Delphi 1.0 and Win16). Thanks to cooperative multitasking, a synchronous access to Winsock was not possible. This is the reason why Microsoft added asynchronous mode to Winsock implementation."
http://synapse.ararat.cz/doku.php

Comments

  1. Yes, we use Synapse. Why do you ask?

    ReplyDelete
  2. I've never heard of it before - and wondered if it can do for me what Indy can do.

    ReplyDelete
  3. I think of it as a great, bare bones network library. No components and all calls are synchronous. The synchronous part is great for us as our applications need to perform simultaneous network requests in 100s of threads. It also has some functionality that Indy doesn't offer such as SNMPv3.

    It's very mature and stable too. in fact, RemObjects use Synapse as an optional transport layer for it's SDK product.

    ReplyDelete
  4. SYNAPSE, Indy and ICS are the most well-know, open source general networking lib. for Delphi?

    ReplyDelete
  5. I have integrated Synapse in one of my projects and found it very easy to use. Indy is imho sometimes a bit overdesigned and too much abstracted.

    ReplyDelete
  6. I've used it in the past without issue, but is the project being well-maintained/supported, and by whom?  Overall, the Ararat site itself seems out of date, with only some sections having more recent updates.  There are fairly recent SVN updates from user "geby".  Is that the original author?

    ReplyDelete
  7. Ok, a little more investigation at SourceForge indicates that "geby" (Lukas Gebauer) has been steadily working on this project since late 2004. The mailing list seems alive and the issue tracker is fairly up-to-date as well.

    ReplyDelete
  8. Which of networking libs can handle C10K problem ?

    ReplyDelete
  9. Synapse synapse and synapse only :).
    Lars Fosdal  you probably just did not write multithreaded programs for the sites. I keep doing this to freelance, so that the synapse chosen because of its stability and simplicity.

    ReplyDelete
  10. I've used Synapse in the past. It works well. It also has easy usage of SSL if you need it.

    ReplyDelete
  11. Синегубов Михаил - Our service is multi-threaded - has two http servers with session support on different ports, two-way TCP messaging, and I am now adding UDP "heartbeats". We are using Indy, and that is not always fun.

    ReplyDelete
  12. Lars Fosdal you should give atry to ICS. It has a totally different programming model: it is really asynchronous and event driven. For example, the HTTP server component is able to handle a large number of call without resorting to multithreading. This greatly simplifies development and debugging. ICS async nature make it a little bit more difficult to use for trivial tasks than other blocking libraries, but it becomes much easier for real world applications.
    Speaking about HTTP server, there is a high level component THttpAppSrv which ease development by abstracting each request. See the tutorial at http://wiki.overbyte.be/wiki/index.php/TutWebAppServer

    ReplyDelete
  13. I totally agree with François Piette. ICS is a very good component set and follows the asynchronous model which makes it far more scalable than what Indy has to offer. It is also open source and is actively maintained by OverByte. Being asynchronous and event driven does change the way you interact with these components but it is well worth the effort. ICS is to Indy what TVirtualTreeView is to TTreeView/TListView.

    ReplyDelete
  14. I was indirectly involved with Synapse in its early days --let them use one of my Linux boxes to test their LDAP stuff. This was something like a decade ago or so. And, I have seen Synapse to get better and better since.

    The good thing about it, IMO, is that it is SIMPLE to use: It gives you the basics and the rest is up to you.

    ReplyDelete
  15. I prefer Synapse to Indy. Love Synapse for it's simplicity.

    ReplyDelete

Post a Comment