• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Не удается наладить соединение ( Mfc , Csocket )

  • Автор темы DPRO
  • Дата начала
Статус
Закрыто для дальнейших ответов.
D

DPRO

Написал две программы: клиент и сервер. Действуют так: запускаю сервер, жму кнопку Listen - сервер начинает слушать. Затем запускаю клиент, жму кнопку Connect - клиент подключается к серверу.

Теперь проблема: две программы работаю только при 127.0.0.1 ай пи адресе ( это адрес собственного компьютера, получается локалка ) , а при проверке на разных компьютерах ( т.е. другой ай пи, не свой ) соединения не происходит!!! Почему ?!?

Клиентская часть (выделил основное):

void CClientDlg::OnConnect()
{
// TODO: Add your control notification handler code here
//Подсоединяемся к серверу
m_pConnectSocket.Connect("127.0.0.1", 2000);
}

void CClientDlg::OnSend()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE); //Забираем данные из edit'а
m_pConnectSocket.Send(m_sData, m_sData.GetLength()); //Пересылаем
}


и серверая часть ( тоже выделил основное ):

void CServerDlg::OnAccept()
{
//Переводим соединение на передающий сокет
m_pListenSocket.Accept(m_pConnectSocket);
}

void CServerDlg::OnReceive()
{
char *pBuf=new char[1025];
//Записываем полученные данные в pBuf
//Записываем в n количество полученных байтов
int n=m_pConnectSocket.Receive(pBuf, 1024);
//Отсекаем лишние символы
pBuf[n]=NULL;
//Записываем данные в переменную, связанную с edit'ом
m_sData=pBuf;
UpdateData(FALSE);
}

void CServerDlg::OnListen()
{
// TODO: Add your control notification handler code here
m_pListenSocket.Listen(); //Сокет начинает слушать
}

Конешно, это всего лишь небольшие кусочки текста. На функции OnReceive() и OnSend() можно не обращать пока внимание - главное коннект получить! Задачи передать сообщение пока не стоит! Если кода мало, то пишите, могу и проекты скинуть, если надо.
 
H

Hostus

А как выглядит метод Create() создания гнезда с параметрами или без?
 
@

@LE}{@NDER

Еще рекомендую проверить файрвол, не блокируется ли заданный порт - у меня было такое, что написал прогу с использованием сокетов и на некоторых компах не пахала, пока не отключал файрволы.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!