Задать вопрос
kirill_782
@kirill_782
Днем я Маринетт

Как задать принудительно порт отправителя?

Могу ли я принудительно задать первые 2 байта пакета UDP? Не самой датаграммы, а заголовков UDP?
  • Вопрос задан
  • 88 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Можно, вызвав bind() для сокета и указав порт в структуре sockaddr_in.

int sock;
unsigned short port = 666;
struct sockaddr_in sin;

sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP)
memset(&sin, 0, sizeof(sin));
sin.sin_family = AF_INET;
sin.sin_port = htons(port);
bind(sock,(struct sockaddr *)&sin, sizeof(sin));


P.S. не заметил PHP в тегах, но принцип тот же.
php.net/manual/en/function.socket-bind.php
указываете ненулевой порт.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы