Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C/C++ Сетевое программирование
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2013, 23:29   #1
Nullerset
Пользователь
 
Регистрация: 01.02.2013
Сообщений: 27
По умолчанию При подключении на открытый порт Connect возвращает -1

Всем привет, решил для интереса написать сканер портов многопоточный.

Код:

Код:
#include <iostream>
#include <cstdlib>
#include <winsock2.h>
#include <windows.h>

#pragma comment(lib, "ws2_32.lib");

using namespace std;

int error,p_start,p_end;
char ip;
HANDLE        hThread;
DWORD        dwThreadId;
int                iSize; 
int j;   
int n = 0;
DWORD WINAPI scan(LPVOID param)
  {
    n++;
    cout << "Creating thread №" << n << endl;
    WSADATA wsa;
    int prt = j;
	SOCKET s;
	SOCKADDR_IN a;
	WSAStartup(0x0101,&wsa);
	a.sin_family = AF_INET;
	a.sin_addr.s_addr = ip;
	s = socket(AF_INET,SOCK_STREAM,0);
	a.sin_port = htons(prt);
    int err = (connect(s,(sockaddr*)&a,sizeof(a)));
    cout << err << endl; // для дебага
    if (err==0)
          cout << prt << " - Opened" << endl;
            else
              cout << prt << " - Closed" << endl;  
    shutdown(s,2);
    closesocket(s);
	WSACleanup();
	ExitThread(0);
  } 
int main()
{
    cout << "From> ";
    cin >> p_start;
    cout << "To > ";
    cin >> p_end;
	cout << "IP: ";
	cin >> ip;
    for (j = p_start; j <= p_end; j++)
      {
        hThread = CreateThread(NULL, 0, scan,  
          (LPVOID)scan, 0, &dwThreadId);
        Sleep(100);
      } 
	system("pause >nul");
	printf("thank you for using this scanner\n");
	Sleep(500);
	ExitProcess(0);
}
Возникла проблема с тем, что даже на открытый порт 80 ( на ВК проверял ) функция connect возвращает код -1.

Я гуглил гуглил, везде используют этот Connect, собственно не пойму: что я делаю не так? Это из-за того, что порт занят веб-сервером или что? Как тогда проверить открыт он или нет?
Nullerset вне форума Ответить с цитированием
Старый 27.12.2013, 08:22   #2
Ezhik Kihze
Форумчанин
 
Регистрация: 24.12.2012
Сообщений: 639
По умолчанию

Код:
char ip;
У вас АЙПИ в один символ?
ICQ: 677936656 Gmail: ekEmbed@gmail.com
Ezhik Kihze вне форума Ответить с цитированием
Старый 28.12.2013, 15:33   #3
Nullerset
Пользователь
 
Регистрация: 01.02.2013
Сообщений: 27
По умолчанию

Цитата:
Сообщение от Ezhik Kihze Посмотреть сообщение
Код:
char ip;
У вас АЙПИ в один символ?
Блин точно спасибо
Nullerset вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
LNK2019 при подключении .h файла (при подключении .cpp все компилится) RomanA Visual C++ 3 16.04.2012 07:47
Зависания при подключении alexprey Работа с сетью в Delphi 1 31.01.2011 21:55
Delphi. Можно ли отправить данные через порт открытый другой программой? losticsx Помощь студентам 2 24.08.2010 19:47
Повредится ли файл открытый для мэпинга при внештатном выключении компьютера Altera Операционные системы общие вопросы 4 17.02.2010 15:59
Проблема при подключении к БД Nice42ru Помощь студентам 0 07.01.2010 01:33