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)

"Interactive Brokers tick data was inconsistent, so I have switched to using DTN exclusively. It is great to no longer have to worry about my datafeed all day long." - Comment from Philippe
"I am a hedge fund manager here. It’s funny, I have a Bloomberg terminal and a Bridge feed, but I still like having my DTN feed!" - Comment from Feras
"I just wanted to let u know that your data feed/service is by far the best!!! Your unfiltered tick data is excellent for reading order flow and none of your competitors delivers this quality of data!" - Comment from Peter via Email
"IQ feed is brilliant. The support is mind-bending. What service!" - Comment from Public Forum Post
"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
"Can I get another account from you? I am tired of ******* going down so often" - Comment from George
"I am keeping IQFeed, much better reliabilty than *******. I may refer a few other people in the office to switch as well." - Comment from Don
"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 would just like to say that IQFeed version 4 is running very well and I am very happy with its performance. I would also like to extend a big thanks for the fast and efficient help that I always receive. My questions and concerns are always addressed promptly. Way to go!" - Comment from Josh in CO.
"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.
Home  Search  Register  Login  Blogs Recent Posts

Information on Various DTN Products:
DTN IQFeed | DTN ProphetX | DTN Ag | NxCore
Follow DTN_IQFeed on Twitter
DTN.IQ/IQFeed on Twitter
DTN News and Analysis on Twitter
»Forums Index »IQFeed Developer »IQFeed Developer Support »We don't need RegisterClientApp anymore
Author Topic: We don't need RegisterClientApp anymore (3 messages, Page 1 of 1)

-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);


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);

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);
} else {
Console.WriteLine("Error: " + data);
data = streamReader.ReadLine();
} catch (IOException ex) {
Console.WriteLine("DownloadFundamentals error: " + ex.Message);

static void Main(string[] args) {
Fundamentals go = new Fundamentals();

I hope this helps.


Charles Brauer

-DTN Guru-
Posts: 2034
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.

-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.



Charles Brauer


Time: Fri March 23, 2018 6:15 AM CFBB v1.2.0 15 ms.
© AderSoftware 2002-2003