alexdapJT
-Interested User-
Posts: 3
Joined: Feb 1, 2016
|
Posted: Feb 1, 2016 11:35 PM
Msg. 1 of 9
Hi, I have more than one application using IQFeed, with same login ID so I can have n clients for each application.
e.g.: login ID 12345 Application A 4 clients Application B 2 clients
I would like to disconnect the applications from IQFeed separately
so for example if I close Application A, I would like disconnect just the related 4 clients, not the login ID. Doing this I would be able to check how many clients are still connected and in case of the Application B is not running I can completely close the IQFeed form.
I tried disconnecting the COM objects
DTNIQFeedCOMLib.MarketDepth2.ReqServerDisconnect(); DTNIQFeedCOMLib.LevelOne2.ReqServerDisconnect();
but no results
I tried also through Admin TCP/IP
S,DISCONNECT
but it closes the general connection without unlink the clients (anyway it wouldn't be useful for my purpose) but no results
Is there any way to achieve this management?
It's my first time in this forum I hope to be enough clear.
I'm using IQFeed 1.0.0.0
Many thanks for your support
|
DTN Todd
-Interested User-
Posts: 74
Joined: Mar 24, 2010
|
Posted: Feb 1, 2016 11:45 PM
Msg. 2 of 9
Hello I will have the Developers look into this. thanks Todd
|
quickTick
-Interested User-
Posts: 53
Joined: Nov 17, 2013
|
Posted: Feb 2, 2016 01:08 AM
Msg. 3 of 9
AFAIK you can just close the sockets of Application A. IQConnect will terminate only if all sockets are closed, so if Application B still has sockets open, IQConnect will remain connected.
Also IQConnect will terminate only after a timeout, which can be changed per command line option and some registry setting.
Another thing your application could do, is use S,CLIENTSTATS ON to see which other connections exist, but that doesn't seem necessary.
Hope that helps until DTN will respond tomorrow.
|
quickTick
-Interested User-
Posts: 53
Joined: Nov 17, 2013
|
Posted: Feb 2, 2016 01:13 AM
Msg. 4 of 9
(I'm assuming Application B has its own admin socket connection. That might be necessary.)
|
DTN_Tim Walter
-DTN Guru-
Posts: 1238
Joined: Apr 25, 2006
|
Posted: Feb 2, 2016 08:47 AM
Msg. 5 of 9
QuickTick is correct. Closing application A will have no effect on the IQFeed app's connectivity, as long as IQFeed can detect one client currently connected from any app on that PC, it will remain open.
Tim
|
alexdapJT
-Interested User-
Posts: 3
Joined: Feb 1, 2016
|
Posted: Mar 17, 2016 01:31 AM
Msg. 6 of 9
I think I cannot disconnect the socket because the IQFeed is initialized directly opening the IQFeed exe
string login = "..."; string password = "..."; string connect = JTConstants.IQProduct + login + password + JTConstants.IQConnectType; Process.Start(JTConstants.IQApplicationName, connect);
|
alexdapJT
-Interested User-
Posts: 3
Joined: Feb 1, 2016
|
Posted: Mar 17, 2016 01:31 AM
Msg. 7 of 9
I think I cannot disconnect the socket because the IQFeed is initialized directly opening the IQFeed exe
string login = "..."; string password = "..."; string connect = JTConstants.IQProduct + login + password + JTConstants.IQConnectType; Process.Start(JTConstants.IQApplicationName, connect);
|
DTN Todd
-Interested User-
Posts: 74
Joined: Mar 24, 2010
|
Posted: Mar 17, 2016 01:44 AM
Msg. 8 of 9
We will have our developers look into this Thanks
|
DTN_Tim Walter
-DTN Guru-
Posts: 1238
Joined: Apr 25, 2006
|
Posted: Mar 17, 2016 10:33 AM
Msg. 9 of 9
You don't need to call disconnect on the COM object's socket, but as soon as they go out of scope they will get cleaned up.
The socket.disconnect method I think is what you are looking for, and that is not exposed via the COM object currently.
Another note though on this, given that this is the last release to have updates to our COM objects, it would probably behoove you to consider doing any new development via socket code anyhow, and then you can create or delete the socket as you see fit.
Tim
|