12

As mentioned on the Aquarium, the WebSocket protocol, often described as one of the key elements of HTML5, has finally been blessed (RFC 6455).

Which WebSocket server implementations are available for Delphi?

Community
  • 1
  • 1
mjn
  • 36,362
  • 28
  • 176
  • 378
  • You may try [our WebSockets library](http://synopse.info/files/html/Synopse%20mORMot%20Framework%20SAD%201.18.html#TITL_150). – Arnaud Bouchez May 18 '15 at 16:02
  • @ArnaudBouchez I'm sorry arnaud, but your websocket library fails epically: no ssl (except for over httpd.sys, which is windows, not mormot), no stable compression (enable compression on server and client: client hangs), no stable authentication (been tearing my hair out for two days), terrible documentation (lots of info but almost completely useless, in true microsoft fashion), lack of samples for many things... And I'm trying to be objective here. Dont get me wrong, the SQLite base is very powerful and stable, but the websocket implementation leaves a lot to desire. Sorry, I hope I'm wrong – Tuncay Göncüoğlu Aug 18 '15 at 13:46
  • 2
    @TuncayGöncüoğlu Yes, there is no SSL support yet, and AFAIK there is no official authentication, nor compression in WebSockets (at RFC level), so I do not understand what you mean. In practice, we use our own binary format within the mORMot SOA, and it uses the framework authentication, and its own compression (SynLZ) and encryption (AES). We start to use it on production with huge amount of events. Of course, outside the mORMot interface-based SOA feature, the unit is a bit rough, since you have to reinvent everything - but sounds stable (even in multi-thread) and using low amount resource. – Arnaud Bouchez Aug 19 '15 at 13:18

4 Answers4

8

Newer version of Indy implementation by André Mussche (the author of AsmProfiler) can be found here.

Denis Grinyuk
  • 46
  • 1
  • 3
3

Here is 2 more projects:

  • bauglir-websocket - WebSocket server/client implementation in Pascal and C#;
  • ics-websockets - WebSockets server for Delphi based on Internet Component Suite (ICS);
Stan
  • 8,683
  • 9
  • 58
  • 102
3

It is implemented in Delphi on Rails, it support old and new WS protocol. http://code.google.com/p/delphionrails/

Henri Gourvest
  • 989
  • 8
  • 12
1

Try IPworks for Delphi, they have nice quite of interoperable components (paid, not free).

https://www.nsoftware.com/ipworks/ws/#plat-delphi

Rick Wheeler
  • 1,142
  • 10
  • 22
  • The [WServer component docs](https://www.nsoftware.com/kb/help/IWN9-A/WSServer.rst) does not make clear if it is possible to use the same port (80) both for normal HTTP and Websockets. Do you know if this is supported by their library? – mjn Mar 07 '14 at 05:47
  • 2
    I currently use their SSL component for HTTP & HTTPS on 80/443 respectively. However I'm still evaluating their WS component so I cannot give you an answer just yet. Perhaps try their support email, I've always found them to respond quickly and professionally. – Rick Wheeler Mar 09 '14 at 21:52
  • You can use the LocalPort property in the WSServer component. So assuming you don't already have something listening on port 80, you can set LocalPort to 80 and the component will listen on port 80. As Rick mentioned, feel free to email support@nsoftware.com, we will get back to you within 24 hours (usually better). – Brandon Mar 21 '14 at 20:02
  • Also the link Rick posted is no longer available you can still access the information from https://www.nsoftware.com/ipworks/ws/#plat-delphi. – Brandon Mar 21 '14 at 20:39