Member 8576662 Ответов: 2

Декодирование пакета с сервера NSE


Дорогие все

Я делаю свое собственное приложение для получения пакета от NSE sever, и я добиваюсь успеха в этом. Но моя проблема в том, что все пакеты находятся в байтовом формате. теперь, как я могу получить живые котировки любой компании(scrips)для декодирования этих пакетов. Когда я сохраняю эти байты в текстовом файле, это выглядит так :
YZ**123 @

Как я могу получить от этого прямую трансляцию?
Я успешно сопоставляю эту структуру
Struct {
CHAR cNetId [2]
SHORT iNoPackets
CHAR cPackData [534]
} BcastPackData

и я получил iNoPackets значение 256, но я не могу сопоставить с cPackData bcz мою длину байтового массива 512. pls помогите мне..

Richard MacCutchan

Вам нужно выяснить у людей, которые предоставляют ленту, каков формат каждого сообщения. Затем вы можете разобрать его на составные части и распечатать информацию в удобочитаемом виде.

Member 8576662

У меня есть ip-адрес и udb-адрес, я успешно подключился к тому серверу, который обеспечивает подачу. Документ по этой теме таков
www.nseindia.com/content/press/FOBroadcast_Ver1.0.4.pdf у меня есть пакетные данные объемом 512 байт, но я не могу сопоставить их ни с одной структурой. . пожалуйста, помогите мне

Richard MacCutchan

Вся необходимая вам информация содержится в этом документе; если вы не можете понять структуру этой информации, я думаю, вам нужно переосмыслить, какое приложение вы хотите создать.

Vivek Rana

у меня та же проблема можете ли вы мне помочь если вы ее решите

dewang123

У вас есть рабочее решение для этого?

2 Ответов

Рейтинг:
1

KarstenK

вы должны привести свои данные в соответствие с исходным форматом. Вы должны обратить внимание на ширину данных NSE и порядок байтов и скопировать каждую их часть самостоятельно, потому что это выглядит так, как будто вы используете 2-байтовые символы и 1-байтовые символы NSE,


dewang123

У вас есть рабочее решение для этого?

Рейтинг:
0

Member 14171262

количество пакетов, которые вы получили как 256 ( 1 пакет), означает, что вы должны преобразовать в сетевой порядок байтов с помощью ntohs(iNopackts). После этого, основываясь на количестве пакетов, вы распаковываете их с помощью алгоритма lzo. затем получите свое широковещательное сообщение, указав значения смещения.


OriginalGriff

Причина моего голосования одна: ответ не имеет ничего общего с вопросом.

Хотя я приветствую Вашу готовность помочь, этот вопрос был опубликован почти семь лет назад, и у него есть ответ, который является одновременно актуальным и, вероятно, правильным, даже если он был опубликован на год позже. Ваш не имеет отношения к делу, и слишком поздно, чтобы быть полезным.

Пожалуйста, не публикуйте ответы на старые вопросы - после всех этих лет, вполне вероятно, что он больше не заинтересован в другом решении.
И это делает вас похожим либо на фермера с точки зрения репутации, либо на спамера, "тестирующего воду". Я почти уверен, что ни то, ни другое не относится к вам в данном случае, но другие гораздо более "триггерны" и начнут процесс запрета вашего сайта за это.

Пожалуйста, попробуйте придерживаться "новых" вопросов вместо этого, или вы будете сбиты с толку!

Member 14171262

Окей. Я понимаю, что об этом спрашивали много лет назад. Я подумал, что если кто-то со стороны увидит этот вопрос, то может получить некоторое представление о 256, которые похожи на 1 пакет и дальнейший seq. вот почему я добавил свой ответ. Я не знал, что из-за этого мне запретят сидеть на этом диване. Спасибо, что дали мне знать админа и вы можете прямо изложить ситуацию, не описывая мою внешность, я могу понять, и сегодня только я создал этот аккаунт, поэтому я буду осторожен, давая решения для других вопросов в будущем.

dewang123

У вас есть рабочее решение для этого?