Join the 80,000 other DTN customers who enjoy the fastest, most reliable data available. There is no better value than DTN!

(Move your cursor to this area to pause scrolling)




"Its working FABULOUSLY for me!! Holy cow...there has been so much I've been missing lately, and with this feed and Linnsoft software...I'm in the game now." - Comment from Chris R.
"My broker in Davenport suggested I give you a try as he uses your service and says its the best." - Comment from Bill via RT Chat
"I just wanted to let you know how fast and easy I found it to integrate IQFeed into our existing Java code using your JNI client. In my experience, such things almost never go so smoothly - great job!" - Comment from Nate
"You are much better than lawyers or the phone company because you answer the phone when I call! I just love your customer service." - Comment from Isreal
"Thanks for the great product and support. During this week of high volume trading, my QuoteTracker + IQ Feed setup never missed a beat. Also, thanks for your swiftness in responding to data issues. I was on ******* for a few years before I made the switch over early this year, and wish I had done it a long time ago." - Comment from Ken
"Awesome response, as usual. It is a sincere and refreshing pleasure to do business with DTN, compared to your competition." - Comment from Ryan
"I just wanted to tell you what a fine job you have been doing. While *******, from what I hear, has been down and out, off and on, IQ feed has held like a champ this week." - Comment from Shirin
"I had always used ******* but for the past 2 weeks have been trying DTN IQFeed. Customer support has been extraordinary. They call just to make sure your problem hasn't recurred." - Comment from Public Forum
"If you want customer service that answers the phone, your best bet is IQFeed. I cannot stop praising them or their technical support. They are always there for you, and they are quick. I have used ****** too but the best value is IQFeed." - Comment from Public Forum
"If someone needs the best quality data and backfill beyond what their broker provides at a rate that is the best in the industry, I highly recommend IQFeed." - Comment from Josh via Public Forum
Home  Search  Register  Login  Recent Posts

Information on DTN's Industries:
DTN Oil & Gas | DTN Trading | DTN Agriculture | DTN Weather
Follow DTNMarkets on Twitter
DTN.IQ/IQFeed on Twitter
DTN News and Analysis on Twitter
»Forums Index »Archive (2017 and earlier) »IQFeed Developer Support »Java RemoveClientApp() call not working in 4.1.2.0
Author Topic: Java RemoveClientApp() call not working in 4.1.2.0 (4 messages, Page 1 of 1)

simon33
-Interested User-
Posts: 28
Joined: Apr 9, 2005


Posted: Nov 8, 2006 12:34 PM          Msg. 1 of 4
Just upgraded my code from version 2.x to the IQFeed Developer, version 4.1.2.0. and the RemoveClientApp() method fails to close the DTN App. I'm concerned, since this used to work.

I am connecting from Java using the TCP/IP method (code will follow). I use the RegisterClientApp() and then get a new socket. On disconnect, I call the RemoveClientApp() method. In the past calling RemoveClientApp() closed the socket the the DTNApp in the system tray. The new version does close the socket, but does not close the App.

The issue comes up when either I lose a connection to DTN, or when I automatically start and stop the Connection. If you attempt a reconnect with the disconnected DTNApp still resident, I get "Application Already Exists" error.

Anyone know what I am doing wrong?

CODE:
public class IQConn extends IQ_32
{
//connection status parameters
int a, b;
Socket dtnSocket;
BufferedReader sin;
BufferedWriter sout;

public void connect()
{
RegisterClientApp( "IQFEED_DEMO", "1.0", "0.11111111" );
try
{
if( a != 0 || b != 0 ) return;

dtnSocket = new Socket( InetAddress.getByName( "localhost" ), 9100 );
dtnSocket.setSoTimeout(SOCKET_TIMEOUT_MILLISECONDS);
sin = new BufferedReader( new InputStreamReader( dtnSocket.getInputStream() ) );
sout = new BufferedWriter( new OutputStreamWriter( dtnSocket.getOutputStream() ) );
}
catch( Exception e )
{
e.printStackTrace();
}

return;
}

public void disconnect()
{
RemoveClientApp();
}
}

DTN_Steve_S
-DTN Guru-
Posts: 2093
Joined: Nov 21, 2005


Posted: Nov 8, 2006 04:12 PM          Msg. 2 of 4
I have been able to duplicate this issue in version 4.1.2.0

Your app is not properly being registered as a client in IQConnect. As a result, when your app closes, IQConnect isnt able to determine that it is time to shut itself down.

As a workaround, all you have to do is maintain a Level1 socket connection while your app is running. This will cause your java app to be properly registered as a client with IQConnect and will properly close when the level1 connection closes.

We will look into this functionality make changes as necessary in a future release.
Edited by DTN_Steve_S on Nov 8, 2006 at 04:13 PM

simon33
-Interested User-
Posts: 28
Joined: Apr 9, 2005


Posted: Nov 8, 2006 05:11 PM          Msg. 3 of 4
Thanks for the quick response: couple of follow-up questions:

1. I followed the Java example to register my client. Can you see what I am doing incorrectly in the above code?
2. The socket is the issue for us. Sometimes it just dies, which is why we are trying to relaunch the app. Are you implying that we should check that the socket is closed, and if it is create a new one?
3. Finally, what is a Level 1 socket? Is that a Financial term (level 2, etc) or a network term?

DTN_Steve_S
-DTN Guru-
Posts: 2093
Joined: Nov 21, 2005


Posted: Nov 8, 2006 05:32 PM          Msg. 4 of 4
1) From what I can tell, this is not a problem with your code.

2) When this dies, is a relaunch required or can you start another instance of your app and recieve data through that one? I am not suggesting this as a "workaround", I am simply asking this for troubleshooting purposes.

3) By "Level 1 socket" I am referring to a regular tcp socket connection to the Level1 port in IQConnect. All apps should maintain a connection to this port throughout the time they are active. All status updates are sent to the client via the level 1 port.
 

 

Time: Sat February 24, 2024 12:09 PM CFBB v1.2.0 13 ms.
© AderSoftware 2002-2003