Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Получить данные через IdTCPServer / 9 сообщений из 9, страница 1 из 1
05.01.2021, 19:25
    #40033681
Mizer73
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить данные через IdTCPServer
по событию IdTCPServer1Execute
принимаю данные
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
TByteDynArray Data;
		Data.set_length(3);
		AContext->Connection->IOHandler->ReadBytes(Data, 3, false);
		int Comma = Data[0];
		int Comma2 = Data[1];
		int u = Data[2]; // длина сообщения
		Data.set_length(u);
                InW11->Lines->Add("Пришло на сервер " + IntToStr(Comma) + "/ длина " + IntToStr(u));
		AContext->Connection->IOHandler->ReadBytes(Data, u, false);



и тут - беда.
отправляю регламентированные пакеты. А приходят данные непонятные. Видимо, порт забит остатками мусора.
Как их вычистить?
...
Рейтинг: 0 / 0
05.01.2021, 19:42
    #40033683
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить данные через IdTCPServer
Mizer73
Видимо, порт забит остатками мусора.
Нет. Никакого мусора в порту нет. Что вы отправили, то и получили. Показывайте код отправки.

Ну и скорее всего, ReadBytes это функция. И возвращает она количество реально прочитанных байт. И если было прочитано меньше, чем нужно, то остаток нужно дочитать
...
Рейтинг: 0 / 0
05.01.2021, 19:53
    #40033686
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить данные через IdTCPServer
Mizer73А приходят данные непонятные. Видимо, порт забит остатками мусора.

Нет, просто ты читаешь данные не туда, куда думаешь.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
05.01.2021, 22:15
    #40033708
Mizer73
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить данные через IdTCPServer
Dimitry Sibiryakov

Mizer73А приходят данные непонятные. Видимо, порт забит остатками мусора.

Нет, просто ты читаешь данные не туда, куда думаешь.


в смысле?
...
Рейтинг: 0 / 0
05.01.2021, 22:21
    #40033711
northener
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить данные через IdTCPServer
Код: pascal
1.
ReadBytes(Data[0],...);
...
Рейтинг: 0 / 0
06.01.2021, 00:43
    #40033738
Mizer73
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить данные через IdTCPServer
Разобрался...
был косяк в отправке. Первая часть уходила одному клиенту, а вторая - этому.
...
Рейтинг: 0 / 0
06.01.2021, 00:43
    #40033739
Mizer73
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить данные через IdTCPServer
Что такое ReuseSocket ?
и как влияет?
...
Рейтинг: 0 / 0
06.01.2021, 01:27
    #40033746
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить данные через IdTCPServer
http://www.e-iter.net/Knowledge/Indy9/007658.html
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
06.01.2021, 17:15
    #40033886
Mizer73
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Получить данные через IdTCPServer
Проблемно отрабатывает код

Код: plaintext
1.
2.
3.
4.
5.
if (IdTCPClient3->Connected();
{
     IdTCPClient3->Disconnect();
}
IdTCPClient3->Connect();



можно сказать - не работает совсем.
Если другой TCP отваливался и включился заново, то возникает проблема переподключить.
Отваливание отслеживается чётко через пингование.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Получить данные через IdTCPServer / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]