Я пытаюсь связаться со встроенным сервером UDP с моего устройства Android, и при получении пакета UDP я обновляю свой интерфейс.Связь работает нормально в течение ~ 250 итераций (запрос-ответ), а затем выдает GC Sweep Major и UDP-сокет прекращает прием.Я новичок в разработке Android, и я не уверен, что реализация моего UDP-соединения выполнена правильно
Это то, что у меня есть ...
void Initialize_UDP()
{
ThreadPool.QueueUserWorkItem(o => UDPCommunicator());
update_flag = true;
}
void UDPCommunicator()
{
while (true)
{
if (update_flag)
{
try
{
byte[] buffer = FrameGenerator(1, 0, true);
byte[] data = new byte[25];
CheckQuery(buffer);
var sender = default(IPEndPoint);
using (UdpClient udpClient = new UdpClient(15001))
{
udpClient.EnableBroadcast = true;
udpClient.Send(buffer, buffer.Length, "192.168.4.255", 15000);
udpClient.Client.ReceiveTimeout = 500;
data = udpClient.Receive(ref sender);
socket_active = false;
}
CheckResponse(data);
/*RunOnUiThread(() =>
{
Update_UI(data);
}); */
}
catch (SocketException)
{
Log.Debug("Error", "Socket Error: Timeout");
}
}
Thread.Sleep(100);
}
}
Это ошибка, которую я получаю
09-25 14: 20: 01,795 ЦАП (7595): Ответ: 35 68 1 18 56 231 2 0 223 137 23 8 0 0 0 0 2 1 14 19 0 1 185
09-25 14: 20: 01.896 Ц / Д (7595): Запрос: 35 81 1 0 139
09-25 14: 20: 01.941 I / zygote (7595): явное одновременное копирование GC освобожден4890 (372 КБ) объектов AllocSpace, 0 (0 Б) объектов LOS, 50% свободного, 1628 КБ / 3 МБ, пауза 170 мс всего 35,511 мс
09-25 14: 20: 01,941 D / Mono (7595): мосты GC_TAR_BRIDGE21 объект 24 непрозрачных 1 цвета 21 цветовой мост 21 видимый цвет 21 внешняя ссылка 0 попадание в кэш 0 полушиток 0 отсутствие кеша 0 настройка 0,07 мс таржан 0,06 мс scc-настройка 0,06 мс сбор-внешняя ссылка 0,00 мс внешняя установка 0,00 мсочистка 0,05 мс
09-25 14: 20: 01,942 D / Mono (7595): GC_BRIDGE: завершена, работала в течение 37,27 мс
09-25 14: 20: 01,942 D / моно(7595): GC_MINOR: (Параллельное начало) время 5,32 мсек, STW 8,02 мс продвинуто 114 КБ основной размер: 848 КБ используется: 170 Кбайт размер: 17408 КБ используется: 16067 К
09-25 14: 20: 01,942 D / Mono (7595): GC_MAJOR_CONCURRENT_START: (переполнение LOS)
09-25 14: 20: 02.442 D / ошибка (7595): ошибка сокета: время ожидания 09-25 14: 20: 02.544 ЦАП (7595): запрос: 3581 1 0 139