WebSocket Not returning any Tick
-
1)Created new app from "Market Feeds APIs FREE"
2)Used the following code fro gitHub (Socket Sample Code to get stock quotes Starts Here)
3) used (script = "nse_cm|2885", TASK = "mw"; )
Result: _WS.MessageReceived is always nullhelp me fix the code.
public static void test() { string Client_code = "xxxxx";// YOUR CLIENT CODE string Password = "xxxxx";// YOUR PAS SWORD string api_key = "xxxxx";// string JWTToken = ""; //optional string RefreshToken = ""; //optional SmartApi connect = new SmartApi(api_key, JWTToken, RefreshToken); OutputBaseClass obj = new OutputBaseClass(); //Login by client code and password obj = connect.GenerateSession(Client_code, Password); AngelToken sagr = obj.TokenResponse; //Get Token obj = connect.GenerateToken(); sagr = obj.TokenResponse; WebSocket _WS = new WebSocket(); var exitEvent = new ManualResetEvent(false); _WS.ConnectforStockQuote(sagr.feedToken, Client_code); if (_WS.IsConnected()) { string script = "nse_cm|2885", TASK = "mw"; // SCRIPT: nse_cm|2885, mcx_fo|222900 TASK: mw|sfi|dp _WS.RunScript(sagr.feedToken, Client_code, script, TASK); _WS.MessageReceived += WriteResult; // _WS.Close(true);// to stop and close socket connection } exitEvent.WaitOne(); } static void WriteResult(object sender, MessageEventArgs e) { Console.WriteLine("Tick Received"); Console.WriteLine("Tick Received : " + e.Message); }
-
Not able to run webSocket
-
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using AngelBroking;
using Newtonsoft.Json;
using System.IO;
using System.Data.SqlClient;
using System.Data;namespace AngelBrokingConsoleApp
{class Program { internal static int GlobalInt = 0; //static DataTable tbl = new DataTable(); internal static SqlBulkCopy objbulk; static void Main(string[] args) { GlobalInt = 0; // FolderCount string scriptFiles = System.IO.File.ReadAllText(@"D:\MarketWatch\token\token.txt"); // Reading Tokens from a text file string script = scriptFiles.Replace("\r\n", ""); // Clean the textdata // - Connection parameters string Client_code = "Your Client Code"; string Password = "Your password"; string api_key = "Your API"; string JWTToken = ""; string RefreshToken = ""; // -End of Connection parameters SmartApi connect = null; OutputBaseClass obj = null; AngelBroking.WebSocket _WS = null; connect = new SmartApi(api_key, JWTToken, RefreshToken); obj = new OutputBaseClass(); obj = connect.GenerateSession(Client_code, Password); AngelToken sagr = obj.TokenResponse; obj = connect.GenerateToken(); sagr = obj.TokenResponse; _WS = new AngelBroking.WebSocket(); var exitEvent = new ManualResetEvent(false); Console.WriteLine("Connect Socket "); _WS.ConnectforStockQuote(sagr.feedToken, Client_code); if (_WS.IsConnected()) { Console.WriteLine("Connected"); string TASK = "mw"; _WS.RunScript(sagr.feedToken, Client_code, script, TASK); _WS.MessageReceived += WriteResult; } exitEvent.WaitOne(); } static void WriteResult(object sender, MessageEventArgs e) { GlobalInt = GlobalInt + 1; // Increment for the Folder string fOLDER = System.DateTime.Now.Hour.ToString() + System.DateTime.Now.Minute.ToString(); // Adding Hours and Sec as string string Folder = @"D:\MarketWatch\Ticks\" + fOLDER; // New Message Writing Folder if (!Directory.Exists(Folder)) // Checking need to Create { Directory.CreateDirectory(Folder); } string ProcessFolder = @"D:\MarketWatch\Process\"; string myFile = @"D:\MarketWatch\Ticks\" + fOLDER + "\\" + System.DateTime.Now.Second.ToString() + ".txt"; // File Name to write the data using (StreamWriter sw = File.AppendText(myFile)) { var marketData = JsonConvert.DeserializeObject<List<RetrieveMultipleResponse>>(e.Message); for (int i = 0; i < marketData.Count; i++) { if (marketData[0].ltp != null) { if (marketData[0].ltt != "NA") { string lineData = marketData[0].ltp + // Last Trade Price "|" + marketData[0].tk + // Token "|" + marketData[0].ltt + // Last trade Time "|" + marketData[0].tsq + // Total sell Qty "|" + marketData[0].v + // Voulme "|" + marketData[0].cng + // Change "|" + marketData[0].tbq; // Total Buy Qty sw.WriteLine(lineData); if (GlobalInt >= 60) { try { ProcessFolder = ProcessFolder + fOLDER; // Writing Flag FileStream fss = File.Create(ProcessFolder); GlobalInt = 0; } catch (Exception ex) { GlobalInt = 0; } } } } } } Console.WriteLine("Tick Received : " + e.Message); //File.WriteAllText(@"D:\xp\a.txt", e.Message); } public class RetrieveMultipleResponse { public List<Attribute> Attributes { get; set; } public string tvalue { get; set; } public string name { get; set; } public string to { get; set; } public string lo { get; set; } public string e { get; set; } public string sp { get; set; } public string c { get; set; } public string ltp { get; set; } public string ltq { get; set; } public string tk { get; set; } public string bs { get; set; } public string ltt { get; set; } public string tsq { get; set; } public string v { get; set; } public string bp { get; set; } public string cng { get; set; } public string bq { get; set; } public string ap { get; set; } public string nc { get; set; } public string tbq { get; set; } } public class Value { [JsonProperty("Value")] public string value { get; set; } public List<string> Values { get; set; } } public class Attribute { public string tvalue { get; set; } public string name { get; set; } public string to { get; set; } public string lo { get; set; } public string e { get; set; } public string sp { get; set; } public string c { get; set; } public string ltp { get; set; } public string ltq { get; set; } public string tk { get; set; } public string bs { get; set; } public string ltt { get; set; } public string tsq { get; set; } public string v { get; set; } public string bp { get; set; } public string cng { get; set; } public string bq { get; set; } public string ap { get; set; } public string nc { get; set; } public string tbq { get; set; } } }
}
-
Has this been resolved? Its not working for me too. I am only tying to run the example console app, the 'connect.GetProfile()' is working fine when tested.
-
@admin Any update on this issue?
-
Hi @baluslife our team is working on web socket we will update you once we fix it.