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)




"And by the way, have to say this. I love the IQFeed software. It's rock solid and it has a really nice API." - Comment from Thomas via RT Chat
"Thanks for following up with me. You guys do a great job in tech support." - Comment from Phelps
"Version 4.0.0.2 has been working well for me and I appreciate that it is now a much tighter client to work with. I feel I can go to press with my own application and rely on a stable platform" - Comment from David in IA.
"Thanks for all of your help. Great customer service deserves to be recognized which one the reasons I've been a customer of DTN for over 10 years!" - Comment from Stuart
"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
"After all the anxiety I had with my previous data provider it is a relief not to have to worry about data speed and integrity." - Comment from Eamonn
"Previously I was using *******. IQFeed is WAY more economical, and for my charting needs is just as good, if not better." - Comment from Public Forum Post
"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've never had DTN go out on me since switching. ******* would go down a couple times every month when I was using them." - Comment from Bryce in AL.
"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
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 »Possible problem under Wine?
Author Topic: Possible problem under Wine? (4 messages, Page 1 of 1)

taa_dtn
-DTN Evangelist-
Posts: 154
Joined: May 7, 2004


Posted: Oct 20, 2021 06:27 PM          Msg. 1 of 4
I'm in the middle of a long-overdue protocol upgrade (to 6.2) and I'm seeing some odd behavior that I wonder if anyone else has encountered.

The problem is that long after my app has exited, iqconnect.exe is still running. Diagnostics.exe client stats claims the app is still connected, and still receiving data on the Level 1 port. However, I've confirmed that my app is definitely not running.

ShutdownDelayLastClient is set to a reasonable value (10 seconds), but I doubt it applies, since iqconnect.exe thinks it's still talking to a client. I see that start.exe, conhost.exe, explorer.exe, and iqconnect.exe are all still running, though. Manually stopping the feed closes everything down as expected.

All this is on Fedora 34 Linux using Wine 6.18, so that might be a factor.

Any ideas?

taa_dtn
-DTN Evangelist-
Posts: 154
Joined: May 7, 2004


Posted: Nov 8, 2021 07:39 PM          Msg. 2 of 4
I still have no solution to this, though a few things I've observed suggest the problem might be related to the way I start iqconnect. I've tried several different methods, and they all misbehave, but some in different ways than others. The common behavior for all of them is that iqconnect thinks it's still connected to a client even after the client (a) closes the only socket it has open to iqconnect, or (b) exits entirely.

FWIW, this problem doesn't exist when using protocol 4.9, but does with 6.2.

So, what is the recommended way to start iqconnect under Wine?

DTN_Gary_Stephen
-DTN Guru-
Posts: 394
Joined: Jul 3, 2019


Posted: Nov 9, 2021 09:20 AM          Msg. 3 of 4
There are a lot of different factors to discuss here.

First, the protocol you set in an S,SET PROTOCOL command should make no difference. Do you mean the version number of the iqfeed client software? That could be a factor, because version 6.2 is 64-bit, while prior versions were 32-bit. Detais like Windows registry keys (which are simulated under Wine) work differently behind the scenes, and this could cause problems. Especially if you upgraded from 6.1 to 6.2 as opposed to installing 6.2 freshly.

There is no "recommended" way to start IQ connect under Wine, because I've found that it can differ in different setups. In a Windows environment, it doesn't matter what order you do things in. When attempting to run IQFeed under Wine, sometimes it does matter. This just means that you must start IQFeed first; must launch it manually instead of using your third-party app's "launch my feed" feature to launch it, and so forth. And even this isn't consistent. My best advice is to find which order works best, and always perform tasks in that order each time.

"IQFeed still thinks it's connected to a client" shouldn't be a problem, because IQfeed allows multiple connections at the same time to the same computer. So even if that were happening, IQFeed wouldn't prevent you from doing anything. I would need more information to comment further. An iqconnect log file would help.

Finally, DTN recommends the third-party product CrossOver by Codeweavers, for our customers who want to run or develop IQFeed under Linux or Mac environments. It's inexpensive, easy to work with, doesn't require a lot of technical knowledge, and runs IQFeed successfully. They offer free trials at https://www.codeweavers.com/crossover. And if you decide to purchase it, DTN will even reimburse you for the cost of their software. Depending on the nature of your project, it may be an option for you to consider.

That's everything I can think of to tell you. If you can provide an iqconnect log file via the usual support channels, I may be able to give more specific advice.

Sincerely,
Gary Stephen
DTN IQFeed Implementation Support Specialist

taa_dtn
-DTN Evangelist-
Posts: 154
Joined: May 7, 2004


Posted: Nov 9, 2021 12:27 PM          Msg. 4 of 4
Thanks for the reply, Gary.

I've written a toy app that exhibits all the correct (expected) behavior, so I'll try to nail down what's different between that and my real apps. I don't have much time available this week, so my next update here might take a while longer.

Now that I have an example working, it's clear that the problem is unrelated to the protocol and client software upgrades.

For reference, I start iqconnect.exe using fork() and execl(), passing a path to the executable and all the appropriate arguments. I wait a few seconds for it to initialize and then I connect. This has worked well for years. CrossOver has never been necessary.

My concern is that iqconnect is still running, sending data to a socket that it thinks is still connected to a client even though the client process is long gone. This is very likely to cause problems somewhere down the line. At the very least, iqconnect's CPU demands are going to get progressively larger over time as clients connect and disconnect. At the worst, it could block and be unable to accept new connections. Plus, the widget tray fills up with multiple connection manager icons, some of which don't respond to mouse clicks, which is ugly and confusing.
 

 

Time: Fri April 19, 2024 5:32 AM CFBB v1.2.0 12 ms.
© AderSoftware 2002-2003