Адрес уже используется при выполнении программы на сокете C - PullRequest
0 голосов
/ 07 февраля 2011

Hii All,
Во время работы программы сокета (на стороне сервера) появляется сообщение типа

Адрес уже используется

Я пытаюсь подключиться к порту 80, поскольку порт 80 зарезервировандля приложения https Итак, перед запуском серверной программы я закрываю все приложения, использующие приложение https, достаточно ли этого ... или я делаю это неправильно?

Пытаюсь установить связь между браузером и терминалом ...

Ответы [ 2 ]

1 голос
/ 07 февраля 2011

Вы должны запустить свое приложение как суперпользователь (root) в Linux или привилегии администратора в Windows, чтобы привязать порт 80. Это относится ко всем служебным портам, которые <1024. Либо это, либо еще есть другойПрограмма привязана к этому порту. </p>

Попробуйте использовать netstat , чтобы узнать, какие программы могут прослушивать порт 80.

Пример:

в Linux:

netstat -punta

в Windows:

netstat -ban

Оба должны быть запущены с привилегиями суперпользователя / администратора для просмотра имен программ, которые привязаны к определенным портам.

0 голосов
/ 07 февраля 2011

Если вы просто закрыли другой процесс, прослушивающий порт 80, этот порт будет заблокирован на определенный промежуток времени в зависимости от вашей ОС.Это здесь для предотвращения сбоя злоумышленником службы на вашем компьютере и немедленного перезапуска вредоносной службы на том же порту.

Это поведение можно отключить, используя SO_REUSEADDR (используя1005 *).

Если ваша основная проблема заключается в обмене данными с настраиваемого сервера с вашим посредником, вы можете использовать любой порт на вашем сервере для предоставления HTTP (для этого обычно используется 8080), просто укажите порт в полеURL http://server:port/ (т. е. http://localhost:8080/)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...