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

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

DPRO

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

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

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

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

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

@LE}{@NDER

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