These are chat archives for IndySockets/Indy

11th
Feb 2016
davidpn
@davidpn
Feb 11 2016 01:56
this isn't user code.. it's the latest check in of Indy
Remy Lebeau
@rlebeau
Feb 11 2016 01:56
Like I said, Indy doesn't use SOAP units, so you shouldn't be getting conflicts while compiling Indy itself
davidpn
@davidpn
Feb 11 2016 01:57
its vice versa.. the RTL SOAP stuff uses Indy.. Indy changes interface.. RTL can't link to it unless recompiled
so yes, I had it a bit backwards.. Indy will compile.. just not my app
I'm attempting to have SSL working on iOS simulator, so some of the changes I may not need
Remy Lebeau
@rlebeau
Feb 11 2016 02:03
Why are you compiling SOAP units at all? And like I said, SOAP uses an abstraction layer to access Indy. Embarcadero uses a private copu of Indy for its technologies. Users can freely install new Indy versions without affecting Embarcadero's libraries
you are doing something wrong in your app.
davidpn
@davidpn
Feb 11 2016 02:04
I'm not compiling them
I'll see if I can come up with the error
davidpn
@davidpn
Feb 11 2016 02:10
[DCC Fatal Error] IdHTTP.pas(3133): F2051 Unit Soap.SOAPHTTPTrans was compiled with a different version of IdHTTP.TIdHTTP
Compiling for iOSSimulator
Strangely, it compiles OK for Win32
I expect I know why, looking at Soap.SOAPHTTPTrans.. USE_INDY is probably defined for iOSSimulator
Remy Lebeau
@rlebeau
Feb 11 2016 02:13
this sounds like a bad project configuration to me. That kind of error can only occur if the compiler is trying to recompile the Soap.SOAPHTTPTrans unit
So that goes back to my question - "Why are you compiling SOAP units at all?"
davidpn
@davidpn
Feb 11 2016 02:14
it's not trying to recompile.. the Soap units are not in the compiler path
Remy Lebeau
@rlebeau
Feb 11 2016 02:16
Yes, it is trying to recompile, that is a recompile error message. I suspect something in your project is using Soap.SOAPHTTPTrans, but the project's library paths are not setup correctly to let the compiler find the precompiled DCU/BPL files, so the compiler is resorting to recompiling the Soap.SOAPHTTPTrans.pas source file itself and then failing.
davidpn
@davidpn
Feb 11 2016 02:17
"Unit Soap.SOAPHTTPTrans was compiled" ie it's already compiled; it is not trying to recompile it
the Soap units are not in the compiler path
Remy Lebeau
@rlebeau
Feb 11 2016 02:22
Something is trying to recompile Soap.SOAPHTTPTrans, you have a compile error message, I don't get why you are debating that. It doesn't matter if it is already compiled, SOMETHING is trying to RE-compile it again
whatever, either way it is not an Indy problem, it is an Embarcadero problem, you should file a bug report with them
davidpn
@davidpn
Feb 11 2016 02:28
Either way, it isn't possible to use the current Indy source with Delphi 10 Seattle for iOSSimulator. I'm not expecting any blame assignment; I'm just reporting what I see
Remy Lebeau
@rlebeau
Feb 11 2016 02:31
Can you just disable Soap in your project? Indy does not require Soap. Soap does not require the user's copy of Indy. Soap SHOUD NOT be recompiled, but if it is then there is a setup problem somewhere. Unless your project actually uses Soap, turn Soap off and move on.
davidpn
@davidpn
Feb 11 2016 02:36
I expect it might.. it's a large and complex system, and I don't know all of it.. I'll check out whether I can turn it off
is it a define?
Remy Lebeau
@rlebeau
Feb 11 2016 02:39
no, you will have to find the code that is pulling in Soap and disable it
davidpn
@davidpn
Feb 11 2016 02:39
ugh.. fair enough
Remy Lebeau
@rlebeau
Feb 11 2016 02:42
I don't know what else to tell you, unless you figure out why the project is touching SOAPHTTPTrans.pas directly to begin with. It shouldn't be, unless maybe Embarcadero did not install a DCU for the simulator. Try using ProcessMonitor to watch the files the compiler touches and see what it is actually looking for when it hits the Soap units
davidpn
@davidpn
Feb 11 2016 02:45
it's OK.. I've found the units that use SOAP..
Ludwig Behm
@lbehm
Feb 11 2016 14:04
Well I guess I'm in the wrong place, but at least: is Indy a good choice to beginn with for a internet facing (50 to 100 users) https webapplication?
Matthijs ter Woord
@mterwoord
Feb 11 2016 14:05
Indy is a sockets library. You could make web applications with it, but I'd say you'd be better of using something like intraweb, or something else (intraweb uses indy under the hood for standalone deployments)
makes sense?
Ludwig Behm
@lbehm
Feb 11 2016 14:08
Hy, thank you for the reply! Yes, I do understand... but isn't Intraweb just a VCL extention for generating HTML and stuff?
Matthijs ter Woord
@mterwoord
Feb 11 2016 14:09
ehm, indy only elps you handle http requests, the rest is up to you. i really think using something like intraweb (or some other web application framework) suits the job better if you need to make a web app
Ludwig Behm
@lbehm
Feb 11 2016 14:12
Because the frontend isn't the problem. My question was is indy is capable and robust enough to run in the wild internet for about 100 users (just a starting point, dk how many requests maybe 300 concurrent?)
Matthijs ter Woord
@mterwoord
Feb 11 2016 14:12
yes
Ludwig Behm
@lbehm
Feb 11 2016 14:13
sweet
Matthijs ter Woord
@mterwoord
Feb 11 2016 14:13
but if you're going to use indy to make a web application, you hav to be very careful with shared state, etc..
to keep things scalable
Ludwig Behm
@lbehm
Feb 11 2016 14:14
well this sound like the tips I hoped for
Are there any guides about what should be done to build a robust backend? I already read about I'v to handle the ThreadPool by myself. Are there other things I should mind?
Matthijs ter Woord
@mterwoord
Feb 11 2016 14:17
no clue
i tend to use higher-level constructs mostly (ie, in this case a real web app framework)
but not too familiar with that in delphi/c++buidler..
Ludwig Behm
@lbehm
Feb 11 2016 14:20
yeah right. we are extending a c++builder app with a rest api - which is afaik based on indy => I want to make sure they behave decend
Matthijs ter Woord
@mterwoord
Feb 11 2016 14:21
cant really help you with delphi/c++ specific stuff though. Dont use delphi anmore..
Other can help you with that though..
Ludwig Behm
@lbehm
Feb 11 2016 14:31
Thank you!
it was just about a starting point: "is indy the right base or will I have trouble?"
Kudzu
@czhower
Feb 11 2016 15:08
Indy is no problem for your base, its perfectly suiteed.
Indy can handle thousands of connections no problem.
Kudzu
@czhower
Feb 11 2016 15:43
If you are doing web dev though, IntraWeb is a better choice. It will save you a ton of work.
Matthijs ter Woord
@mterwoord
Feb 11 2016 15:47
@czhower He's making a rest webservice though, not a client
Ludwig Behm
@lbehm
Feb 11 2016 15:47
well the angular frontend already looks pretty stable and the DSRest api... well kinda sucks. Does IntraWeb has a rest api and is compatible with Seattle?
davidpn
@davidpn
Feb 11 2016 22:33
for REST backends, I use Restler (a PHP-based framework).. for the front end, Delphi's out-of-the-box REST client components