Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Существует ли порт > 65 тыс., например 77333


Автор: sergey_85 11.12.2009, 15:12
Привет!

Возник спор, существует ли порт с номером более >65 тысяч с копейками, например 73666?

Говорят на 32 битных системах нет, на 64 битных - да?

Автор: djamshud 11.12.2009, 15:24
Стек IP не зависит от разрядности операционки. За два байта не вылезти.

Автор: azesmcar 11.12.2009, 15:26
читай про протокол TCP
http://en.wikipedia.org/wiki/TCP_and_UDP_port

Автор: xvr 12.12.2009, 11:59
Цитата(sergey_85 @ 11.12.2009,  15:12)
Возник спор, существует ли порт с номером более >65 тысяч с копейками, например 73666?

Номер порта 16ти битный, т.е. 2х батный
Цитата

Говорят на 32 битных системах нет, на 64 битных - да?
Ага ага. На 64х битных ОС в байте 16 битов, в килобайте 1000000 байтов, в килограме 10000 грамм, в 1 кубическом метре 1000000 литров, в часе 1000 минут и т.д. и т.п.  smile 
Не все в этом мире определяется битами в ОС  smile 

Автор: sergey_85 12.12.2009, 23:00
Спасибо за ответы, я так и думал!

Меня запутали и я решил железно убедится (еще в универе помню препод твердил, но столько времени прошло) в этом!

Автор: ChevChelios 25.1.2010, 17:35
Цитата(djamshud @ 11.12.2009,  15:24)
Стек IP не зависит от разрядности операционки. За два байта не вылезти.

 smile Если судить по тому - откуда автор темы... то он из Челябинска... города суровых мужчин... мужики там на столько суровы что могут вылезти за два байта....  smile Жутко извиняюсь за оффтоп... но не смог удержаться(х smile 

Автор: Albor 26.1.2010, 12:42
Цитата(sergey_85 @  11.12.2009,  15:12 Найти цитируемый пост)
Возник спор, существует ли порт с номером более >65 тысяч с копейками, например 73666?

А почему бы и нет  smile (если уж спорить)? Другое дело - каким будет реальный номер порта
Код

void openPort(unsigned short portNumber)
{
    cout<<"Real port "<<portNumber<<endl;
}
int main()
{

    unsigned short x=65535;// максимум для 2х байт
//Попытаемся открыть порт с номером 70000
    openPort(x+4465);//чтобы компилятор не ругался, 70000 передадим хитро
//Проблем не возникло, только получили реальный порт 4464
    return 0;
}


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)