Информация об изменениях

Сообщение Re: Почему сокету нельзя сделать bind() к двум портам? от 03.06.2015 23:06

Изменено 03.06.2015 23:06 smeeld

Здравствуйте, PlushBeaver, Вы писали:

PB>
  • подтвердила, что сокеты хранятся в хэш-таблице по ключу, вычисляемому от порта либо адреса и порта, но все равно непонятно, что мешало бы в такую таблицу

    >добавить несколько записей об одном сокете, чтобы из него вычитывать пакеты, направленные на разные порты


    Как? В пришедшем пакете есть только инфа о sport, dport, saddr и daddr и всё. Какому именно соединению или сокету
    пакет предназначен можно определить только по dport+daddr, если разные dport будут соответствовать одному
    и тому же сокету то что будет если в системе появится второй сокет с таким же dport+daddr? Как определить
    здесь к какому из двух сокетов направлен пакет с данным daddr?
  • Re: Почему сокету нельзя сделать bind() к двум портам?
    Здравствуйте, PlushBeaver, Вы писали:

    >подтвердила, что сокеты хранятся в хэш-таблице по ключу, вычисляемому от порта либо адреса и порта, но все равно непонятно, что мешало бы в такую таблицу


    >добавить несколько записей об одном сокете, чтобы из него вычитывать пакеты, направленные на разные порты


    Как? В пришедшем пакете есть только инфа о sport, dport, saddr и daddr и всё. Какому именно соединению или сокету
    пакет предназначен можно определить только по dport+daddr, если разные dport будут соответствовать одному
    и тому же сокету то что будет если в системе появится второй сокет с таким же dport+daddr? Как определить
    здесь к какому из двух сокетов направлен пакет с данным daddr?