Bästa sättet att läsa av Feed i C#. Använder ett Web MVC 5 projekt.

Added by Oscar about 5 years ago

Hej,

Har använt ert API till och från under ett längre tag nu men fortfarande inte hittat ett optimalt sätt att läsa er feed kontinuerligt.

Jag använder mig av ett C# MVC 5 projekt för att kunna presentera och ändra feeden i en webbläsare.

För att läsa och skriva till feeden använder jag mig av SslTcpClient från MSDN-exemplet.

https://msdn.microsoft.com/en-us/library/system.net.security.sslstream.aspx

I min nuvarande lösning så skickar jag med ett förväntat värde när jag läser av feeden och returnerar sedan strängen som motsvarar mitt förväntade värde och konverterar det till ett C#-objekt med hjälp av JsonConvert.DeserializeObject. Vill jag exempelvis ha ut orderdjup för Ericsson så skickar jag in följande sträng:

{"cmd":"subscribe", "args":{"t":"depth", "i":"101", "m":11}}

och sedan läser jag av responsen från feeden och förväntar mig ett värde som börjar med:

{"type":"depth","data":{"i":"101","m":11

Det här fungerar men det känns långt ifrån optimalt och när applikationen varit igång ett tag kan applikationen bli väldigt ostabil. Hur har ni andra här på forumet löst feeden? Finns det någon här som också presenterar data i ett webbgränssnitt eller alla kör desktop-applikationer? Hur har ni gått tillväga för att läsa och skriva till feeden på bästa sätt? Jag har haft funderingar på en bakgrundsprocess, exempelvis Hangfire och att sedan skicka ut data via SignalR till min klient/klienter men inte kommit överens med mig själv hur detta görs på bästa sätt.


Replies (9)

RE: Bästa sättet att läsa av Feed i C#. Använder ett Web MVC 5 projekt. - Added by Oscar about 5 years ago

Jag har även upplevt ett problem att svaret från servern ibland inte är ett fullständigt objekt. Till exempel kan responsen från servern vara både den övre och den undre strängen nedan under samma sekund. Vad beror detta på?

{"type":"depth","data":{"i":"4870","m":11,"tick_timestamp":1439894878853,"ask_volume4":11959,"ask_orders4":24}}

{"type":"depth","data":{"i":"4870","m":11,"tick_timestamp":1439894872763,"bid1":244.00,"bid_volume1":5749,"bid_orders1":8,"ask1":244.50,"ask_volume1":3280,"ask_orders1":5,"bid2":243.50,"bid_volume2":10359,"bid_orders2":4,"ask2":245.00,"ask_volume2":7514,"ask_orders2":9,"bid3":243.00,"bid_volume3":12371,"bid_orders3":10,"ask3":245.50,"ask_volume3":13688,"ask_orders3":9,"bid4":242.50,"bid_volume4":8156,"bid_orders4":2,"ask4":246.00,"ask_volume4":11709,"ask_orders4":23,"bid5":242.00,"bid_volume5":9279,"bid_orders5":4,"ask5":246.50,"ask_volume5":2331,"ask_orders5":6}}

RE: Bästa sättet att läsa av Feed i C#. Använder ett Web MVC 5 projekt. - Added by Lars about 5 years ago

Jag har även upplevt ett problem att svaret från servern ibland inte är ett fullständigt objekt.

beror antagligen på (se feed-dokumentationen):

"In price, depth and indicator messages only changed fields and identification of the entity is sent."

dvs, det är inte ett problem med feeden utan en "feature" som behöver hanteras i din ände.

RE: Bästa sättet att läsa av Feed i C#. Använder ett Web MVC 5 projekt. - Added by Marcus about 5 years ago

Hur menar du med att applikationen blir ostabil efter ett tag?

Kör själv C# och tycker det fungerat bra hittills. Kör 1-2 Tasks i bakgrunden som sköter all form av avlyssning och sedan skickar vidare detta till mitt GUI.

Provat både WFA och WPF men gått över till WPF på senare tid så jag kan utnyttja XAML. Kanske övergår till ett webbgränssnitt efter ett tag men det viktiga är att allt fungerar bra på datorn som ska sköta ditt program först.

//Marcus

RE: Bästa sättet att läsa av Feed i C#. Använder ett Web MVC 5 projekt. - Added by Oscar about 5 years ago

Tack för info Lars.

Marcus jag tänker mig att all logik ska ske server-side. Jag har inte lyckats hitta ett bra sätt att kontinuerligt läsa feeden, kunna modifiera vad jag ska prenumerera på och samtidigt skicka ut detta till ett gränssnitt. Min nuvarande tanke ligger i att använda mig av Hangfire för ett bakgrundsjobb och sedan SignalR för att pusha ut förändringar till klienter. Får man fråga lite mer exakt hur din lösning ser ut?

RE: Bästa sättet att läsa av Feed i C#. Använder ett Web MVC 5 projekt. - Added by Marcus about 5 years ago

Server-side som på en av dina egna servrar?

Jag har aldrig använt mig av Hangfire eller SignalR. Har byggt upp ett eget GUI i XAML. Har listor/hashmaps med marknader och värdepapper. Kör en tråd som konstant sitter och lyssnar på feeden. Kommer det in nytt material tar tråden hand om detta och uppdaterar alla nödvändiga värden/parametrar. Skulle det behövas skapas nya trådar som sköter mer bakgrundsarbete, så jag konstant har GUI-tråden ledig för alla knapptryckningar osv.

Logiken försöker jag också köra på separata trådar om möjligt. Föredrar Tasks framför BackgroundWorkers, men det är lite av preferens. Då allting skapas på GUI-tråden får du köra någon form av Invoke om du vill ha access till dina andra controlers när du väl är på en annan tråd och kör.

//Marcus

RE: Bästa sättet att läsa av Feed i C#. Använder ett Web MVC 5 projekt. - Added by Oscar about 5 years ago

Yes på egen server.

Okok jag har fått igång det att fungera helt OK nu. Skippade Hangfire och kör istället en Singleton-instans på en egen tråd (Task), när den tar emot ett meddelande så pushar den ut informationen till anslutna klienter via SignalR. Ett smidigt sätt tycker jag ändå för att köra appen i IIS och kunna administrera allt via webbläsare.

RE: Bästa sättet att läsa av Feed i C#. Använder ett Web MVC 5 projekt. - Added by sunh 3 days ago

Your item looks great. That item is related to 먹튀검증 Isn't it?꽁머니 it's hard to find an item like토토사이트 but thanks to you, I can also see an item about 안전놀이터 I'm very lucky.먹튀검증 I don't have an item about 스포츠중계 but I have a lot of materials about 안전놀이터 . We also have resources on 꽁머니 Aren't you curious about the data?" Maybe you are interested. My site is 먹튀보안관 and 먹튀가디언 name and address is https://twiddeo.com/ and https://mtboan.com/ . If you have time, I would appreciate it if you visit.And the information on my site 놀이터토토 I'm sure you'll admire it. 안전한놀이터 is awesome. I am sure it will be because I am also surprised by your 꽁머니토토 if you visit my site, 메이저안전놀이터 I think there will be a lot of information you want 안전놀이터추천 Or, if you have the purpose of inquiry, it would be nice to say 먹튀사이트조회

RE: Bästa sättet att läsa av Feed i C#. Använder ett Web MVC 5 projekt. - Added by sunh 3 days ago

토토레프리 Your post really helped me a lot. 먹튀검증 As an opportunity to read one article, 먹튀 I'm reading all your other posts. 먹튀검증업체 I found out that you are a person https://elephonemobile.com/ with a lot of abilities. 먹튀사이트 Your website is 메이저놀이터 full of really needed content. I envy you. I also run one of my websites. 메이저놀이터 It's a little different from you, 사설토토 but many posts are registered on 메이저사설토토 my site, and I'm still writing them. The posts are being updated 사설놀이터 almost every week, 안전놀이터 so if you're interested, visit them and read them. 안전놀이터 I'm sure it'll help you, too. 토토사이트 There are many problems happening all over the world these days, and I hope you don't have any problems, 메이저토토사이트 and I hope you have a great day today. Thank you again for letting me read this, 토토사이트추천 and I'll see you next time. 토토사이트 Good bye

RE: Bästa sättet att läsa av Feed i C#. Använder ett Web MVC 5 projekt. - Added by sunh 3 days ago

안전놀이터검증및연구센터 Nice to meet you. 토토사이트분석전문블로그 That's a great post. When was your interest in 안전한토토사이트 when did you start?? I was probably from when I first encountered 안전한놀이터 when I was a child. I am very happy to see someone with the same interests writing such a wonderful article about 먹튀검증커뮤니티 .먹튀검증의새로운패러다임 Thank you. https://kipu.com.ua/ I live in a different country https://remarka.kz/ from you. https://subtitles.ee/ Your post will be popular enough in my country. 먹튀검증 I'm very happy to 안전놀이터 read this post. 토토사이트 Thank you. 먹튀사이트검증 You must have put a lot of effort into writing this. 메이저토토사이트 I'd like to appreciate that. 메이저안전놀이터 I wish I could write like you. 안전한사설토토사이트 Actually, 공식안전놀이터 I'm small, 먹튀검증커뮤니티 but I'm running my own website. 먹튀검증토토사이트 If you have time, 먹튀검증토토 please visit my website. 사설안전놀이터] There must be a post that you will find interesting. And please leave a replay about your shortcomings. It would be very helpful to me if you could. Thank you. Have a nice day!Nowadays,토토사이트검증업체 the weather is getting colder every day토토안전놀이터 , so wear warm clothes and watch out for a cold 확실한먹튀검증 It's really cool 검증토토사이트. I'd like to know more information. Just like your 안전한먹튀검증 I have 최고의안전놀이터

(1-9/9)