Replacing TROIndyHTTPChannel through TROIndySuperHTTPChannel


(Parsecs Trap) #1

I have a TROIndyHTTPServer and TROIndyHTTPChannel. It worked good… until today… I’ve got a “Channel is busy” exception.

I read your wiki and the talks here, so I should take a SuperChannel.

My quetion is, would it be okay if I simply replace TROIndyHTTPChannel through TROIndySuperHTTPChannel?


(EvgenyK) #2

yep, channels can be replaced w/o any problems.
note: you need change server-side from plain HTTP server with SuperHTTP server also.
also TargetURL should be changed from http:// to superhttp://


(Parsecs Trap) #3

Hm… I have an external application which is accessing my service like http://myservice:1234/JSON,
so, if I understand you right and I change it to the SuperHTTP server, should be the endpoint also changed to superhttp://myservice:1234/JSON !?

What could I do if don’t have this possibility?


(EvgenyK) #4

you can use several servers in one app, like plain http on 1234 port for non-RO clients and superhttp on 1235 port for RO clients.
note: superHTTP can work with RO clients only


(Parsecs Trap) #5

Okay, but for me it is not clear how I can serve a big amount of request from the external not RO clients with the IndyHTTPServer/Channel if they come at the same time… Is it possible to setup for examle 10 IndyHTTPServers/Channels with one endpoint http://localhost:1234/JSON?

Could you please provide a small example? It would be great!


(EvgenyK) #6

no, you can’t do this.
you may try to use TROWinHttpServer or create ISAPI dll for IIS - it may work better in your scenario

another possibility to use load balancing feature. see the Load Balancing sample


(Parsecs Trap) #7

Okay, thanks for your help!