Size: a a a

2020 August 31

DE

Denis Erygin in Modern::Perl
этого достаточно
источник

DE

Denis Erygin in Modern::Perl
Вот кусок кода из исходников для сомневающихся :)
источник

DE

Denis Erygin in Modern::Perl
int UDP_SetSocketPort (struct qsockaddr *addr, int port)
{
   ((struct sockaddr_in *)addr)->sin_port = htons(port);

   return 0;
}
источник

b

basiliscos in Modern::Perl
Denis Erygin
В IO::Socket::INET для udp клиента можно поменять порт на лету ? Например от сервера пришел номер порта для  переключения
вообще говоря нету такого "поменять порт на лету", совсем, насколько я знаю. Когда сокет создан, делается bind, и он уже связывает сокет и порт. Менять порт у сокета - нельзя. Можно создать новый сокет и забиндить его уже на новый порт.
источник

DE

Denis Erygin in Modern::Perl
basiliscos
вообще говоря нету такого "поменять порт на лету", совсем, насколько я знаю. Когда сокет создан, делается bind, и он уже связывает сокет и порт. Менять порт у сокета - нельзя. Можно создать новый сокет и забиндить его уже на новый порт.
это же udp, в памяти байтики просто поменять
источник

b

basiliscos in Modern::Perl
это сокет
источник

b

basiliscos in Modern::Perl
Ядерная структура
источник

b

basiliscos in Modern::Perl
данные в UDP можно менять )
источник

DE

Denis Erygin in Modern::Perl
матчинг по адресу в итоге
источник

IA

Ivan Avseyanko in Modern::Perl
basiliscos
Ядерная структура
Которая тоже только абстрактный интерфейс, в итоге. )
источник

b

basiliscos in Modern::Perl
Denis Erygin
матчинг по адресу в итоге
короче, попробуй на C написать, то что хочешь (и проверь что работает, можно с помощью какого-нить netcat/nc). Тогда станет ясно что надо на перле )
источник

DE

Denis Erygin in Modern::Perl
man recvfrom
источник

DE

Denis Erygin in Modern::Perl
я только про клиентский сокет, там можно любой адрес принять в recvfrom
источник

b

basiliscos in Modern::Perl
и что там? открытый сокет (и забинженный или за тебя забиндят), буфер куда, длина, и, да клиентский SA (sockaddr)
источник

b

basiliscos in Modern::Perl
клиентский SA тебе заполняют и отдают
источник

b

basiliscos in Modern::Perl
там можно (после получения) менять что-хочешь, да, но это на то, что по сети потом отдаётся никак не влияет, совсем.
источник

b

basiliscos in Modern::Perl
это как "залогинился вася, переименуем в диму." . Можно, да, только смысла особого нет )
источник

DE

Denis Erygin in Modern::Perl
если системные вызовы видят адрес как кусок памяти, то можно его поменять и надеятся на чудо :)
источник

b

basiliscos in Modern::Perl
оно так не работает, как ты себе представляешь. Попробуй на C сделать, убедишься. peer SA - это адрес того, кто к тебе пришёл. да, это твой кусок памяти и его можно менять как хочешь. Но на дальнешую коммуникацию по сети это никак(!) не влияет )
источник

IA

Ivan Avseyanko in Modern::Perl
Denis Erygin
если системные вызовы видят адрес как кусок памяти, то можно его поменять и надеятся на чудо :)
А ещё, тот адрес, который видишь ты, вообще никак может не соотноситься с тем, что себе представляет ос.
источник