Перейти к содержанию

connect()


Рекомендуемые сообщения

Хай

Проблема: пытаюсь подсоединиться к ОТКРЫТОМУ на удаленном компе порту функцией connect(). Несмотря на то, что порт открыт, функция возвращает 111 (connection refused) или 106 (порт сейчас в работе). И так - на всех открытых портах. В чем тут проблема, мож кто-нить знет?

Regards.

Ссылка на комментарий
Поделиться на другие сайты

int sd;

int i;

struct sockaddr_in addr;

char *host = '127.0.0.1';

sd = socket(PF_INET,SOCK_STREAM,IPPROTO_TCP);

addr.sin_family = AF_INET;

inet_aton(host, &addr.sin_addr.s_addr);

for (i = 1; i <= 256; i++) {

addr.sin_port = htons(i);

connect(sd, (struct sockaddr *) &addr, sizeof(sockaddr_in));

perror("");

}

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

Кроме того, sizeof(struct sockaddr_in), поскольку sockaddr_in - это таг, а не тип. Ну и наконец, если хочешь это делать в цикле, то удачно подцепившийся socket нужно закрывать прежде чем делать новый connect.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...