Joined: |
Jun 15, 2006 01:01 AM |
Last Post: |
Jun 23, 2010 12:58 AM |
Last Visit: |
Jun 23, 2010 11:55 PM |
Website: |
www.klarisma.com |
Location: |
Denmark |
Occupation: |
|
Interests: |
|
|
AIM: |
|
ICQ: |
|
MSN IM: |
|
Yahoo IM: |
|
|
klarsen has contributed to 3 posts out of 21185 total posts
(0.01%) in 6,528 days (0.00 posts per day).
20 Most recent posts:
Hi Guys,
i'm trying to learn erlang :-) since it seems like Erlang loves small messages like quotes - and loves IP/Sockets. But i'm a TOTAL newbie into erlang - and took me a while to get feed up and get data out.
So I thought I would share - and would love if anyone else in the same boat would share too.
So here is a short code that 1. starts IQFeed, 2. Connects to Socket, 3 Retrieves a packet or two from port 5009 and outputs them to the console.
:code!! %%%file_comment -module(iqfeed_start).
-export([start/0,client/1]).
start() -> open_port({spawn,"IQConnect.exe -product IQFEED_DEMO -version 1.0.0.0"}, []), timer:sleep(1000). %open IQfeed and then wait for login etc
client(PortNo) -> start(), %calls the start of IQConnect - remove this {ok,Sock} = gen_tcp:connect("localhost", PortNo,[binary, {active,false}]), %open a socket connection io:format("Connected to sock:~p ~n",[Sock]), %%%gen_tcp:send(Sock,Message), {ok,A}=gen_tcp:recv(Sock, 0), %receive what is waiting for us like "S,KEY etc" io:format("~p ~n", [A]), % print it to console gen_tcp:send(Sock,"wMSFT\r\n"), %ask for a Microsoft quote io:format("command sent~n"), Bx = gen_tcp:recv(Sock,0), %receive packet io:format("~p ~n", [Bx]), io:format("waiting for next server packet~n"), C = gen_tcp:recv(Sock,0), %get next packet - if market not active this will show the 1 minute timer io:format("~p ~n", [C]), % print it. gen_tcp:close(Sock). %actually closes IQFeed - make it a comment for tests!
you start it by compiling the iqfeed_start.erl "c(iqfeed_start) from Erlang console. Then you can call it by writing "iqfeed_start:client(5009)." [enter] - where 5009 is the port number.
My todo list: Find a way to detect if IQFeed is already running (like fire a socket connect request) Edited by klarsen on Jun 23, 2010 at 01:00 AM
Put me on "i want c# examples too please""
Hey guys,
i've just tested IQ on Windows Vista Permium and it does not work.
I do think it is some security setting - but all I get when i try to login is "Unable to Connect to IP list server"
I've disabled the Vista firewall and that did not help. My XP machine on same network have no problems.
this is not a support request - just a "heads-up" :-) if anybody else is trying Vista :-)
best
Kasper
|
|