1. Соблюдайте Правила форума и проявляйте уважение к другим участникам беседы.

TCP Client Socket -> PutBytes

Тема в разделе 'Кодинг/Собственные решения', создана пользователем Deals, 22 июл 2011.

  1. Deals Старожила

    Сообщения:
    784
    Спасибы:
    21
    Сборка бота GHost:
    Ghost One 1.7.266
    Skype:
    Мой статус
    Уважаемые знатоки.
    Я прошу Вашей помощи. Да именно помощи.
    Создаю сокетную систему общения ботов по локалке.
    Скажите пожалуйста принцип отправки пакетов.
    Код:
    void CTCPSocket :: PutBytes( string bytes )
    {
    	m_SendBuffer += bytes;
    }
    Т.е. я вызываю ф-ию для вставки значения в буфер.
    Например я зацикливаю отправку пакетов.
    После отправки буфера по сокету m_SendBuffer не опустошается.
    И если добавить еще дату на отправку, то отправит пакет дата1+дата2, т.е. буфер полностью...
    Вообще как бот работает с сокетом. И как он сортирует пакеты. Очищает буфер. Отличает значения...
  2. Deals Старожила

    Сообщения:
    784
    Спасибы:
    21
    Сборка бота GHost:
    Ghost One 1.7.266
    Skype:
    Мой статус
    Ни у кого нет идей?
  3. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    Так какие могут быть идеи, лично я даже не понял вопрос)
    Опиши, что конкретно у тя не выходит, или переформулируй вопрос.
  4. Deals Старожила

    Сообщения:
    784
    Спасибы:
    21
    Сборка бота GHost:
    Ghost One 1.7.266
    Skype:
    Мой статус
    С буфером принятых пакетов
  5. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    ну кратко могу сказать, что у близарда свой протокол первый бит это ID Протокола ( в случае с бнетом 255)
    дальше идет 1 бит это ID пакета и 2 БИТА размера, имея эти данные можно проверить пакет на валидность и отделить о общей массы.

    пример функция ExtractPackets
  6. Deals Старожила

    Сообщения:
    784
    Спасибы:
    21
    Сборка бота GHost:
    Ghost One 1.7.266
    Skype:
    Мой статус
    Да. Это я уже понял. Я уже все нашел. Практически. Хочу написать свой протокол... o_O
  7. fake Старожила

    Сообщения:
    1.624
    Спасибы:
    19
    Дата начала использования бота:
    11.11.11
    Юзай удп, там есть броадкаст.
  8. Deals Старожила

    Сообщения:
    784
    Спасибы:
    21
    Сборка бота GHost:
    Ghost One 1.7.266
    Skype:
    Мой статус
    До! GUI этим и уязвим. Что броадкастит. Т.к. юзает UDP. А вообще эта система не попадет в Open Source
  9. JiLiZART Администрация

    Сообщения:
    815
    Спасибы:
    35
    Сборка бота GHost:
    Ghost++ 17.1
    Дата начала использования бота:
    12.12.04
    молодец, активно развиваешь сообщество.
  10. DvB Ньюфаг

    Сообщения:
    6
    Спасибы:
    0
    Удп броадкаст работает только в пределе локалки (1го ната\роутер)
    т.е. юзая броадкаст ты не сможешь найти юзеров вне твоей локалки, про какую уязвимость можно говорить?

    Я не знаю, что конкретно ты хочеш, но если ты хочеш, чтобы боты находили друг друга и при этом могли бы друг с другом общаться, то для поиска друг друга им нужно использовать БРОАДКАСТ, иначе, тебе придется вводить ip:port каждого из ботов в конфиге другого бота, или использовать серверную часть.

    И если не юзать Броадкаст, а юзать сервер, то смысл в удп отпадает, так как тсп обладает рядом преимуществ, например: достоверность и очередность
  11. Deals Старожила

    Сообщения:
    784
    Спасибы:
    21
    Сборка бота GHost:
    Ghost One 1.7.266
    Skype:
    Мой статус
    Именно поэтому юзаю TCP
  12. Deals Старожила

    Сообщения:
    784
    Спасибы:
    21
    Сборка бота GHost:
    Ghost One 1.7.266
    Skype:
    Мой статус
    Я хочу сделать как ты мне писал, после того как закончу делать.
    И это будет Open Source.
    Типа 1 сервер и куча клиентов.
    А из клиентов вытряхну все...
  13. DvB Ньюфаг

    Сообщения:
    6
    Спасибы:
    0
    Я не знаю, что конкретно ты хоч и я не говорил, что бы ты юзал УДП для общения, в данном случае УДП можно использовать для создания р2р протокола(где удп будет искать других ботов в лане,а конект будет по тсп)



    Если нужна помощь, либо просто захоч расказать че ты там задумал) добавь dvb4ever в скайп-_-