 |
Отправка пакета - Общение разработчиков - Программирование для Perfect World, общение и обсуждене разработок |
12.03.2012, 06:03
|
#1
|
|
|
|
Сержант
|
 Регистрация: 19.12.2009
 Сообщений: 130
 Популярность: 34
 Сказал(а) спасибо: 21
Поблагодарили 86 раз(а) в 32 сообщениях
|
Отправка пакета
Решил я сделать программу на Autoit в которую пишешь пакет и он его циклом отправляет. Все нормально только возникает 1 проблема . В код отправки пакета нужно вписать длину пакета (которая еще на 2 делится)
как я понял за это отвечает функция StringLen. Сделал чтоб считывала количество символов, он нормально это считывает . Но чтобы мне засунуть эти числа в код нужно поделить на 2, а когда я делю переменную на 2 меня выбивает с дисконектом от сервера .
Пример
 |
Цитата: |
 |
|
|
|
|
|
|
|
Global $len = StringLen($Input3)
While 1
While $buying = 1
sendPacket(GUICTrlRead($Input3), $len/2, $choosed_char)
Sleep(5000)
Wend
WEnd |
|
 |
|
 |
|
Подскажите может я что-то не так делаю? Или нужно через другую функцию?
|
|
|
12.03.2012, 10:46
|
#2
|
|
|
|
Сержант
|
 Регистрация: 11.12.2010
 Сообщений: 110
 Популярность: 541
 Сказал(а) спасибо: 5
Поблагодарили 66 раз(а) в 39 сообщениях
|
Re: Отправка пакета
Если посылать пакет строкой, то нужно понимать, что визуально эта строчка будет выглядеть не как нужные байты, а как какие-то левые символы. Совершенно необязательно, что длина такой строки будет делиться на 2.
Чтобы проверить правильность, отправь один пакет, длину которого задай в программе конкретно. Если всё будет в порядке, значит на первые два предложения этого поста можешь не обращать внимание.
________________
Принимаю реквесты на статьи, программы. Всё будет запилено в лучшем виде :3
|
|
|
12.03.2012, 10:58
|
#3
|
|
|
|
Сержант
|
 Регистрация: 19.12.2009
 Сообщений: 130
 Популярность: 34
 Сказал(а) спасибо: 21
Поблагодарили 86 раз(а) в 32 сообщениях
|
Re: Отправка пакета
Это все делается если я сам пишу размер пакета который мне нужен. Но мне нужно чтобы программа считывала его и делила на 2 количество символов в нем
|
|
|
12.03.2012, 11:37
|
#4
|
|
|
|
Сержант
|
 Регистрация: 11.12.2010
 Сообщений: 110
 Популярность: 541
 Сказал(а) спасибо: 5
Поблагодарили 66 раз(а) в 39 сообщениях
|
Re: Отправка пакета
Т.е. на вход ты получаешь строку и хочешь преобразовать её в пакет?
Окей, первым делом убери все лишние символы из строки (пробелы, например), а потом циклом преврати каждые два символа этой строки в один байт, а каждый такой байт помести в массив (или в новую строку).
Кодом помочь тут не смогу, ибо AutoIt.
________________
Принимаю реквесты на статьи, программы. Всё будет запилено в лучшем виде :3
|
|
|
12.03.2012, 11:53
|
#5
|
|
|
|
Сержант
|
 Регистрация: 19.12.2009
 Сообщений: 130
 Популярность: 34
 Сказал(а) спасибо: 21
Поблагодарили 86 раз(а) в 32 сообщениях
|
Re: Отправка пакета
Я уже много способов перепробовал все номально работает пока не появляется математические знаки не знаю из за чего.Считывает все хорошо показывает сколько символов через MsgBox . Но если ставлю кол-во всех цифр делить на 2 или умножить на 0.5 сразу дисконект от сервера
Добавлено через 23 минуты
Все разобрался
Последний раз редактировалось STIL23; 12.03.2012 в 12:17.
Причина: Добавлено сообщение
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 19:51.
|
 |