Вопрос про bitstream

dinky

Участник
Автор темы
78
23
Lua:
function sendCustomPacket(str)
  local bs = raknetNewBitStream()
  raknetBitStreamWriteInt8(bs, 17)
  raknetBitStreamWriteInt32(bs, 0)
  raknetBitStreamWriteInt32(bs, #str)
  raknetBitStreamWriteString(bs, str)
  raknetEmulPacketReceiveBitStream(220, bs)
  raknetDeleteBitStream(bs)
end
я правильно понимаю что битстрим имеет ограничение в длину, я просто пытаюсь отправить изображение чет около 250 кб весит через битстрим, если отрежу часть изображение 4/5 то все работает все показывается, а если фулл то ничего не происходит, я отправляю base64 код, подскажите способ пж, я просто не хочу изображение оставлять за пределами самого скрипта где-то 😭😭😭😭😭

1739828802639.png
1739828822771.png
я проверял различные места из-за чего может не работать, остается только битсрим, что имеет ограничение, подскажите как проверить можно
 

Tema05

Известный
1,481
448
Lua:
function sendCustomPacket(str)
  local bs = raknetNewBitStream()
  raknetBitStreamWriteInt8(bs, 17)
  raknetBitStreamWriteInt32(bs, 0)
  raknetBitStreamWriteInt32(bs, #str)
  raknetBitStreamWriteString(bs, str)
  raknetEmulPacketReceiveBitStream(220, bs)
  raknetDeleteBitStream(bs)
end
я правильно понимаю что битстрим имеет ограничение в длину, я просто пытаюсь отправить изображение чет около 250 кб весит через битстрим, если отрежу часть изображение 4/5 то все работает все показывается, а если фулл то ничего не происходит, я отправляю base64 код, подскажите способ пж, я просто не хочу изображение оставлять за пределами самого скрипта где-то 😭😭😭😭😭

Посмотреть вложение 264016Посмотреть вложение 264017 я проверял различные места из-за чего может не работать, остается только битсрим, что имеет ограничение, подскажите как проверить можно
Немного не ясен смысл затеи. Зачем локально отправлять себе входящий пакет с каким-то данными. Если это тип будет делать сервер то какой смысл? Тебе не нужно получать изображение коли ты его сам на сервер загрузил чтоб оно тебе присылалось. Если ты его собираешься отсылать другим с сервера то какой смысл. Их клиенты не смогут его интерпретировать, а если ты им дал какой-то свой скрипт, чтобы получилось, почему нельзя в скрипт изображение вшить дабы не получать его с сервера?

Также иной вопрос. Ты вроде знаешь что такое base64, но зачем оно тебе нужно при отправке? Base64 требуется чтоб представить байты в виде строки из символов, при передаче через пакет рациональнее отправлять оригинальные байты ведь так уменьшится объём данных. Расскажи что ты хочешь по итогу, возможно есть более рациональное решение.

Ну и в лоб если тебе просто надо именно так, почему нельзя отправлять его несколькими пакетами разделив данные?
 

dinky

Участник
Автор темы
78
23
Немного не ясен смысл затеи. Зачем локально отправлять себе входящий пакет с каким-то данными. Если это тип будет делать сервер то какой смысл? Тебе не нужно получать изображение коли ты его сам на сервер загрузил чтоб оно тебе присылалось. Если ты его собираешься отсылать другим с сервера то какой смысл. Их клиенты не смогут его интерпретировать, а если ты им дал какой-то свой скрипт, чтобы получилось, почему нельзя в скрипт изображение вшить дабы не получать его с сервера?

Также иной вопрос. Ты вроде знаешь что такое base64, но зачем оно тебе нужно при отправке? Base64 требуется чтоб представить байты в виде строки из символов, при передаче через пакет рациональнее отправлять оригинальные байты ведь так уменьшится объём данных. Расскажи что ты хочешь по итогу, возможно есть более рациональное решение.

Ну и в лоб если тебе просто надо именно так, почему нельзя отправлять его несколькими пакетами разделив данные?
черт совсем не подумал про байт код, но сейчас пробую найти информацию чтобы засунуть bin в верстку пока найти не могу, так и так наверное придется конвертировать байт код в бейс, а затем уже в картинку =(, я новичек в луа, я вообще его не знаю, минут 30 смотрю его, не знаю как разделять ракнет бит стрим, я попробовал что-то потыкать поискать, но не нашел не разобрался

Немного не ясен смысл затеи. Зачем локально отправлять себе входящий пакет с каким-то данными. Если это тип будет делать сервер то какой смысл? Тебе не нужно получать изображение коли ты его сам на сервер загрузил чтоб оно тебе присылалось. Если ты его собираешься отсылать другим с сервера то какой смысл. Их клиенты не смогут его интерпретировать, а если ты им дал какой-то свой скрипт, чтобы получилось, почему нельзя в скрипт изображение вшить дабы не получать его с сервера?
я не могу это рассказать, я так что-то посмотрел, как-будто игра не стоит свеч и лучше изначально в бейс64 хранить картинку в скрипте, чем бинарный код а потом ебатся чтобы переконвертировать в base64 и потом в картинку, если можно как-то просто сделать, то окей, байт код картинки есть у меня, просто методов в луа не знаю, я на с++ сижу проста