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

Тема в разделе "MS Visual C++", создана пользователем DPRO, 29 авг 2008.

Статус темы:
Закрыта.
  1. DPRO

    DPRO Гость

    Написал две программы: клиент и сервер. Действуют так: запускаю сервер, жму кнопку 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() можно не обращать пока внимание - главное коннект получить! Задачи передать сообщение пока не стоит! Если кода мало, то пишите, могу и проекты скинуть, если надо.
     
  2. Hostus

    Hostus Гость

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

    @LE}{@NDER Гость

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

Поделиться этой страницей