[twsocket] ICS group on social networks LinkedIn and FaceBook
Hi ! Every ICS user is invited to be part of ICS-group on Linked-In. See http://www.linkedin.com/e/gis/136245 Why ? Just to have a little bit more visibility for everyone of us and for ICS. There is another one on FaceBook: http://www.facebook.com/pages/ICS-Internet-Component-Suite/39493622127 btw: You may also be part of "Powered by Delphi" group on Linked-In. http://www.linkedin.com/e/gis/48600 -- francois.pie...@overbyte.be The author of the freeware multi-tier middleware MidWare The author of the freeware Internet Component Suite (ICS) http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] SSL send emai using gmail?
Hello Zvone, Thanks all, finally it works! Tuesday, February 22, 2011, 4:28:23 PM, you wrote: Z> See: Z> http://wiki.overbyte.be/wiki/index.php/ICS_Download -- Best regards, Antolmailto:spama...@mail.ru -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Why ICS prefers non-blocking sockets?
It is all much better explained here why blocking is better: Maybe you should not believe everything you read on a web page... Maybe you should use one of those libraries... So I am wondering why ICS prefers events when the code is so much simpler without them? That's simply wrong. Event driven code is easier for a lot of things, except for simple demos. Non-blocking, event driven programming offer a much better scalability. It has a learning curve which is much horizontal: you begin with something more complex than simplistic blocking programming model, but you stay almost at the same level of complexity even for larger applications while blocking mode quickly becomes a nightmare. -- francois.pie...@overbyte.be The author of the freeware multi-tier middleware MidWare The author of the freeware Internet Component Suite (ICS) http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Why ICS prefers non-blocking sockets?
> It is all much better explained here why blocking is better: > http://www.ararat.cz/synapse/doku.php/about I would not say that blocking is "better". Programming with synchronous functions needs less callbacks and thus gives more compact code at the cost of performance. If this is OK depends on the requirements of your application. That said I think that the real question should be: "Why doesn't Delphi improve support for asynchronous programming?" because there are other programming languages that allow you to write asynchronous code without explicit callbacks by supporting coroutines (see http://en.wikipedia.org/wiki/Coroutine). "Vala" is my current favourite language in that direction, all you have to do there is to add a "yield" in front of calling asynchronous functions and the compiler takes care of the rest (callback, state machine). Code examples: http://live.gnome.org/Vala/GIOSamples#Asynchronous_Stream_Reading http://live.gnome.org/Vala/GIONetworkingSample#line-156 How I wish there would be a "yield" keyword in Delphi... Regards, Tobias -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Why ICS prefers non-blocking sockets?
Let's say you are writing a multi-socket HTTP downloader such as the one in the ICS demo. With sync/blocking sockets, you would have to launch multiple threads per file. Why would you launch 4 threads for a 4Mbps DSL download with thread syncronization hassle? We use ICS async logic in our IQ Proxy Server (http://www.iqproxyserver.com) to avoid "thread-hell". Most of the times, when you fire more than 1400 threads in Windows, it crashes. We have successfully tested 60k connections in our proxy server thanks to ICS/async-winsocks! Regards, SubZero On Tue, Feb 22, 2011 at 3:26 PM, Zvone wrote: > When I looked at Indy and Ararat Synapse they both prefer blocking sockets > to connect to text-based protocols like HTTP, POP, SMTP, FTP etc. > > The reason - because communication is flowed - you send command, you wait > reply, if reply does not match you handle error. It is all nice > line-by-line > inline code. > > With ICS it uses events to reply to reply codes and non-blocking. But with > this you lose - easy to follow code flow. If you really need to make it > independent you simply put it in separate thread - both Indy and Synapse > have their own way of solving this - Indy has special component for > threading sockets and Synapse some kind of function that gets called every > once in a while. > > It is all much better explained here why blocking is better: > http://www.ararat.cz/synapse/doku.php/about > > So I am wondering why ICS prefers events when the code is so much simpler > without them? > -- > To unsubscribe or change your settings for TWSocket mailing list > please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket > Visit our website at http://www.overbyte.be > -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Why ICS prefers non-blocking sockets?
> So I am wondering why ICS prefers events when the code is so much > simpler without them? ICS does not prefer events, it offers both blocking synchronous and non-blocking async versions of most high level component methods. So developers can make their own choice depending on application needs, instead of being forced to use threads with Indy and Synapse since otherwise the GUI dies while any request awaits completion. I generally use blocking methods for client applications that are only performing one task as a time, and non-blocking for servers which otherwise potentially need hundreds or thousands of threads. Angus -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Why ICS prefers non-blocking sockets?
Zvone wrote: > When I looked at Indy and Ararat Synapse they both prefer blocking > sockets to connect to text-based protocols like HTTP, POP, SMTP, FTP > etc. The main advantage of non-blocking is that you do not need one thread per connection. Writing multi-threaded applications is not easy and debugging can become quite difficult. One thread per connection is waste of resources IMO. With ICS it's possible to handle hundreds of connections within a single thread. The main disadvantage of using async. winsock API is platform-dependence. Though Francois already found a way to emulate messages on Linux (Kylix). > > The reason - because communication is flowed - you send command, you > wait reply, if reply does not match you handle error. It is all nice > line-by-line inline code. You can use the SyncXxx methods available in the HTTP, FTP, SMTP and POP3 client components if you prefer traditional coding. -- Arno Garrels -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Why ICS prefers non-blocking sockets?
Abstraction classes, events and complexity are consulting bargains ;-) -Message d'origine- From: Zvone Sent: Tuesday, February 22, 2011 2:26 PM To: ICS support mailing Subject: [twsocket] Why ICS prefers non-blocking sockets? So I am wondering why ICS prefers events when the code is so much simpler without them? -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] Why ICS prefers non-blocking sockets?
I much prefer non-blocking. While receiving data from a httpcli f.e or over a slow connection etc, my app keeps running while waiting for data. without having to complicate it all with extra threads for everything. On Tue, Feb 22, 2011 at 2:26 PM, Zvone wrote: > When I looked at Indy and Ararat Synapse they both prefer blocking sockets > to connect to text-based protocols like HTTP, POP, SMTP, FTP etc. > > The reason - because communication is flowed - you send command, you wait > reply, if reply does not match you handle error. It is all nice > line-by-line > inline code. > > With ICS it uses events to reply to reply codes and non-blocking. But with > this you lose - easy to follow code flow. If you really need to make it > independent you simply put it in separate thread - both Indy and Synapse > have their own way of solving this - Indy has special component for > threading sockets and Synapse some kind of function that gets called every > once in a while. > > It is all much better explained here why blocking is better: > http://www.ararat.cz/synapse/doku.php/about > > So I am wondering why ICS prefers events when the code is so much simpler > without them? > -- > To unsubscribe or change your settings for TWSocket mailing list > please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket > Visit our website at http://www.overbyte.be > -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] SSL send emai using gmail?
See: http://wiki.overbyte.be/wiki/index.php/ICS_Download -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
[twsocket] Why ICS prefers non-blocking sockets?
When I looked at Indy and Ararat Synapse they both prefer blocking sockets to connect to text-based protocols like HTTP, POP, SMTP, FTP etc. The reason - because communication is flowed - you send command, you wait reply, if reply does not match you handle error. It is all nice line-by-line inline code. With ICS it uses events to reply to reply codes and non-blocking. But with this you lose - easy to follow code flow. If you really need to make it independent you simply put it in separate thread - both Indy and Synapse have their own way of solving this - Indy has special component for threading sockets and Synapse some kind of function that gets called every once in a while. It is all much better explained here why blocking is better: http://www.ararat.cz/synapse/doku.php/about So I am wondering why ICS prefers events when the code is so much simpler without them? -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] SSL send emai using gmail?
Hello Arno, Tuesday, February 22, 2011, 3:42:39 PM, you wrote: >> Ah forgot the button-sequence on the left. >> Connect | Ehlo | StartTLS | Ehlo | Auth |..as usual It says: RequestDone Rq=0 Error=SSL Handshake failed EIcsSsleayException File not found: SSLEAY32.DLL It seems that I don't have SSLEAY32.DLL. Where do people usually get it? I found it in google but I don't want to download it from untrusted sites. -- Best regards, Antolmailto:spama...@mail.ru -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] SSL send emai using gmail?
A kind of related note - if you are downloading mail from Gmail (using POP3) Gmail does not behave as usual servers where you issue RETR command and deletes message only after you issue DELE command but instead it uses settings from Gmail account and seems to ignore DELE command completely. If you are not using POP3 but only SMTP then care about this. -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] SSL send emai using gmail?
Arno Garrels wrote: > Arno Garrels wrote: >> Antol wrote: >>> Hello , >>> >>> Anyone has any idea how to make OverbyteIcsSslMailSnd.exe send >>> mails through smtp.gmail.com? Whatever I try there, it just >>> doesn't send. What parameters and buttons order should be used? >> >> Either: >> >> Host: smtp.googlemail.com / or smtp.gmail.com >> Port: 25 >> SSL-Type: Explicit >> User: >> Password: <...> >> AuthType: Login //! >> >> Or: >> >> Host: smtp.googlemail.com / or smtp.gmail.com >> Port: 465 >> SSL-Type: Implicit >> User: >> Password: <...> >> AuthType: Login //! >> >> I prefer the first method. >> >> At first skip peer verification (SslVerifyPeer unchecked). >> >> Hit button Connect or Open and you are done. >> >> If you use buttons on the left, after the SSL handshake >> succeeded issue a second EHLO request, it might work >> without that however won't be RFC-conform. > > Ah forgot the button-sequence on the left. > Connect | Ehlo | StartTLS | Ehlo | Auth |..as usual As you might have noticed there are no authentication extensions listed in the first Ehlo response, so always issue the second after the SSL is established and AuthType may be set to smtpAuthAutoSelect as well. -- Arno Garrels -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] SSL send emai using gmail?
Arno Garrels wrote: > Antol wrote: >> Hello , >> >> Anyone has any idea how to make OverbyteIcsSslMailSnd.exe send >> mails through smtp.gmail.com? Whatever I try there, it just >> doesn't send. What parameters and buttons order should be used? > > Either: > > Host: smtp.googlemail.com / or smtp.gmail.com > Port: 25 > SSL-Type: Explicit > User: > Password: <...> > AuthType: Login //! > > Or: > > Host: smtp.googlemail.com / or smtp.gmail.com > Port: 465 > SSL-Type: Implicit > User: > Password: <...> > AuthType: Login //! > > I prefer the first method. > > At first skip peer verification (SslVerifyPeer unchecked). > > Hit button Connect or Open and you are done. > > If you use buttons on the left, after the SSL handshake > succeeded issue a second EHLO request, it might work > without that however won't be RFC-conform. Ah forgot the button-sequence on the left. Connect | Ehlo | StartTLS | Ehlo | Auth |..as usual > > -- > Arno Garrels -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] SSL send emai using gmail?
> Anyone has any idea how to make OverbyteIcsSslMailSnd.exe send > mails through smtp.gmail.com? Goggle only support SSL, so you must use a mail demo supporting SSL. Angus -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] SSL send emai using gmail?
Antol wrote: > Hello , > > Anyone has any idea how to make OverbyteIcsSslMailSnd.exe send mails > through smtp.gmail.com? Whatever I try there, it just doesn't send. > What parameters and buttons order should be used? Either: Host: smtp.googlemail.com / or smtp.gmail.com Port: 25 SSL-Type: Explicit User: Password: <...> AuthType: Login //! Or: Host: smtp.googlemail.com / or smtp.gmail.com Port: 465 SSL-Type: Implicit User: Password: <...> AuthType: Login //! I prefer the first method. At first skip peer verification (SslVerifyPeer unchecked). Hit button Connect or Open and you are done. If you use buttons on the left, after the SSL handshake succeeded issue a second EHLO request, it might work without that however won't be RFC-conform. -- Arno Garrels -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
[twsocket] SSL send emai using gmail?
Hello , Anyone has any idea how to make OverbyteIcsSslMailSnd.exe send mails through smtp.gmail.com? Whatever I try there, it just doesn't send. What parameters and buttons order should be used? -- Best regards, Antol mailto:spama...@mail.ru -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be
Re: [twsocket] TTwitter component
You should really consider making in freeware/opensource. You'll gain something: other people will find bugs and make enhancements. Your own applications will then be better. And you'll enter the hall of fames :-) Always been a bit skeptic about open source, how do you make money from that :) I do money with freeware. Well, not directly. You may not know it, but I'm an independant consultant, full time. A significant part of my customers have found me because of my freeware. I simply provide custome development, training, consultancy and other similar activity. Many companies have some developers finding my components, then they start writing their application and discover that they lack some resource or knowledge to build their application, or their application require some changes in the components. Then I'm here ! They hire me and I earn some money. Also, making the components freeware makes it better. People find bugs and added enhancements. My own applications benefit from that as well. They are more robust. You must really make a difference between components and applications ! I make frewware components, not applications. -- francois.pie...@overbyte.be The author of the freeware multi-tier middleware MidWare The author of the freeware Internet Component Suite (ICS) http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be