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)




"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 am very happy I changed. I love the product, but more so I am thrilled with Tech Support. You are knowledgeable, polite, pleasant and professional." - Comment from Pat
"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
"Just a quick one to say I'm very impressed so far :) The documentation for developers is excellent and I've quickly managed to get an app written to do historical downloads. The system is very robust and pretty quick considering the extent of data that's available. The support guys have been very helpful too, in combination with the forums it's been plain sailing so far!" - Comment from Adam
"Everything is working great ! Very impressive client. The news refreshes better and is more pertinent than the ******* feed I paid $ 100/month for. I Also like the charts a lot." - Comment from Leon
"The service is great, I see a noticeable improvement in my volume profiles over [broker]'s data feed" - Comment from Larry
"It’s so nice to be working with real professionals!" - Comment from Len
"I am very pleased with the DTNIQ system for quotes and news." - Comment from Larry
"Just a thank you for the very helpful and prompt assistance and services. You provided me with noticeably superior service in my setup compared to a couple of other options I had looked at." - Comment from John
"I have been using IQFeed now for a few years in MultiCharts and I have zero complaints. Very, very rare to have any data hiccups or anything at all go wrong." - Comment from 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 »We don't need RegisterClientApp anymore
Author Topic: We don't need RegisterClientApp anymore (3 messages, Page 1 of 1)

CBrauer
-Interested User-
Posts: 32
Joined: Aug 18, 2004


Posted: Feb 13, 2010 06:11 PM          Msg. 1 of 3
In the last email announcing the new release it said that IQ32.dll was depreciated and would eventually be removed. I thought to myself "If that's so, how do we do RegisterClientApp?" The answer is we don't. It is not needed anymore.

Here is a console application built with Visual Studio 2008. It is in C#:

using System;
using System.IO;
using System.Net.Sockets;

namespace Fundamentals {
class Fundamentals {
StreamReader streamReader;
NetworkStream IQStream;
TcpClient socket;

private void Run() {
Int32 portNumber = 5009;
try {
socket = new TcpClient("localhost", portNumber);
Console.WriteLine("socket has been initialized.");
} catch (Exception ex) {
Console.WriteLine("Error: " + ex.Message);
return;
}

DownloadFundamentals("IBM");
Console.WriteLine("Done.");
}

private void DownloadFundamentals(string sSymbol) {
try {
IQStream = socket.GetStream();
streamReader = new StreamReader(IQStream);

string quoteString = "w" + sSymbol + "\n\r";
byte[] outputBuffer = System.Text.Encoding.ASCII.GetBytes(quoteString);
socket.GetStream().Write(outputBuffer, 0, outputBuffer.Length);
socket.GetStream().Flush();

string data = streamReader.ReadLine();
while (data.IndexOf("!ENDMSG!") < 0) {
if (data.Length > 0) {
if (data.IndexOf("..SYNTAX_ERROR..") < 0) {
if (data[0] == 'F') {
Console.WriteLine("Data: " + data);
return;
}
} else {
Console.WriteLine("Error: " + data);
}
}
data = streamReader.ReadLine();
}
return;
} catch (IOException ex) {
Console.WriteLine("DownloadFundamentals error: " + ex.Message);
}
return;
}

static void Main(string[] args) {
Fundamentals go = new Fundamentals();
go.Run();
Console.ReadKey();
}
}
}

I hope this helps.

Charles

Charles Brauer
CBrauer@CypressPoint.com

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


Posted: Feb 15, 2010 10:45 AM          Msg. 2 of 3
Hello Charles, you are correct that with the current version of IQFeed, as long as the feed is already running, it is not absolutely required to call RegisterClientApp anymore. However, as I'm sure you are aware, the code posted above will not launch the feed. Furthermore, the feed must be initialized with a productID and version number (by any of the current methods) upon initial launch before it will allow any connections for data retrieval.

We also recommend that before any client connects to the feed, that you first register with the feed (even if it is already running and not absolutely required). Doing so will reduce the likelyhood that your app will break with future versions of the feed.

CBrauer
-Interested User-
Posts: 32
Joined: Aug 18, 2004


Posted: Feb 15, 2010 11:20 AM          Msg. 3 of 3
I'm aware that my example code does not launch the feed. I do that elsewhere. You said that IQ32.dll is depreciated. In the past I did:

[DllImport("C:\\Program Files\\DTN\\IQFeed\\IQ32.dll")]
public static extern int RegisterClientApp(
IntPtr hClient,
string szProductName,
string szProductKey,
string szProductVersion);

and I used RegisterClientApp. As I mentioned before, if IQ32.dll is no longer available (in future releases), and if you say that we still need to do RegisterClientApp, then how do we do that.

Some sample code would be greatly appreciated.

Thanks

Charles

Charles Brauer
CBrauer@CypressPoint.com
 

 

Time: Sat May 4, 2024 6:12 PM CFBB v1.2.0 11 ms.
© AderSoftware 2002-2003