gregsemple
-Interested User-
Posts: 3
Joined: Mar 19, 2005
|
Posted: Mar 21, 2005 08:55 PM
Msg. 1 of 3
Hi,
I'm getting an "Unknown Win32 Exception" while using the sockets interface to historical data. If I comment out the following code, I experience no stability problems:
TcpClient client = new TcpClient("127.0.0.1", 9100); client.Close();
So, somehow opening the socket causes a crash? I wouldn't believe it but I saw another post about this exact same problem, for instance a post on Oct 2004 by frankzhou, where he provided complete source code to reproduce the problem.
Is this fixed now? I'm using 2.3.0.2, so is this just an issue specific to the beta? If not, is there a proposed workaround? If there is no workaround, can we get this as a "hot fix" - it makes my application pretty unusable since I can't actually get historical data :)
Greg
|
gregsemple
-Interested User-
Posts: 3
Joined: Mar 19, 2005
|
Posted: Mar 25, 2005 11:15 AM
Msg. 2 of 3
I'm following up here since I haven't received a reply. I didn't see this issue in your buglist at http://www.iqfeed.net/dev/buglist.cfm, does that mean you do not believe this instability is a problem with IQFeed? Getting frustrated here, thanks for any replies.
|
gregsemple
-Interested User-
Posts: 3
Joined: Mar 19, 2005
|
Posted: Mar 25, 2005 12:06 PM
Msg. 3 of 3
Alright, for anyone else experiencing difficulty with this problem, here is my workaround.
Basically, use the socket interface for all interaction with IQ Feed (historical data or otherwise), and have a separate "server" process call RegisterClientApp/RemoveClientApp. Having the ActiveX component isolated in the other process fixed about 3-4 stability issues I was having, including a crash on exit. Seems to be something flawed in the connection point disconnect logic, judging from the stack traces. Having a constantly-running server seems to get around these issues.
As a bonus, you get around the nasty bug where a crash in your application causes you to have to manually kill the IQConnect.exe process in order to get further historical data (since the next time you call RegisterClientApp, it won't re-establish the history socket).
|
|
|
|