Модераторы: feodorv
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Socket struct - error 
:(
    Опции темы
Enelar
Дата 30.11.2008, 18:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 141
Регистрация: 13.1.2008

Репутация: нет
Всего: 1



Решил тряхнуть стариной. Благо распечатка прошлого кода осталась.
Код точно рабочий, полностью переписал.
Клюючевой момент
Код

sockaddr_in local_addr;

Код

local_addr.sin_family = AF_INET;
  local_addr.sin_port = 55555;
  local_addr.sin_addr.S_un.S_addr = INADDR_ANY;
 if (bind(local, (sockaddr *)&local_addr, sizeof(local_addr)) != 0)
  {
      MessageBox(NULL, "Error open port, maybe 55555 port using", "Error", MB_ICONERROR | MB_OK);
    return 0;
  }


Код

error C2664: bind: невозможно преобразовать параметр 2 из 'sockaddr_in *' в 'const sockaddr *'
        Типы, на которые указывают указатели, не связаны; для преобразования требуется reinterpret_cast, приведение в стиле С или приведение в стиле функции


Код был точно рабочас я помню. Переписал правильно... Минут 30 извращался, больше идей нет smile 

Это сообщение отредактировал(а) Enelar - 30.11.2008, 18:15
PM MAIL   Вверх
Олег2005
Дата 1.12.2008, 19:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Завсегдатай
Сообщений: 421
Регистрация: 26.5.2005
Где: Рига Латвия

Репутация: 6
Всего: 11



Попробуйте 
local_addr.sin_port = htons(55555);
  и  (SOCKADDR*)

Это сообщение отредактировал(а) Олег2005 - 1.12.2008, 20:02
PM MAIL WWW MSN   Вверх
SVN74
Дата 1.12.2008, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 5.5.2008
Где: Комсомольск на Дн епре

Репутация: 1
Всего: 18



Local_Addr2.sin_family = AF_INET;
Local_Addr2.sin_port = htons(55555);
Local_Addr2.sin_addr.s_addr=htonl(INADDR_ANY);
if(bind(ServerSocket,( sockaddr *)&Local_Addr2,sizeof(Local_Addr2))==SOCKET_ERROR)
{
////////
}
PM MAIL WWW   Вверх
Олег2005
Дата 1.12.2008, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Завсегдатай
Сообщений: 421
Регистрация: 26.5.2005
Где: Рига Латвия

Репутация: 6
Всего: 11



Ну и?
Та же ошибка?
Я вам предлагал:
if(bind(ServerSocket,(SOCKADDR*)&Local_Addr2,sizeof(Local_Addr2))==SOCKET_ERROR)
Для INADDR_ANY        htonl() не нужен


Это сообщение отредактировал(а) Олег2005 - 1.12.2008, 22:20
PM MAIL WWW MSN   Вверх
SVN74
Дата 1.12.2008, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 5.5.2008
Где: Комсомольск на Дн епре

Репутация: 1
Всего: 18



 Local_Addr2.sin_addr.s_addr = 0;

Цитата

Для INADDR_ANY        htonl() не нужен

Это не нужно, если не устанавливать определенный адрес...

Это сообщение отредактировал(а) SVN74 - 1.12.2008, 23:12
PM MAIL WWW   Вверх
Олег2005
Дата 2.12.2008, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Завсегдатай
Сообщений: 421
Регистрация: 26.5.2005
Где: Рига Латвия

Репутация: 6
Всего: 11



Цитата(SVN74 @  1.12.2008,  22:05 Найти цитируемый пост)
Это не нужно, если не устанавливать определенный адрес...

А кто утверждает обратное?
PM MAIL WWW MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0463 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.