Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Socket'ы

55K
22 ноября 2010 года
Frio
25 / / 26.08.2010
Доброго времени суток снова.
Делаю соединение через сокеты и передачу информации по таймеру каждые 10 мс.
Код:
void __fastcall TGamePoints::Button1Click(TObject *Sender)
{
  ServerSocket1->Port=1100;
  ServerSocket1->Active=true;
}
//---------------------------------------------------------------------------

void __fastcall TGamePoints::Button2Click(TObject *Sender)
{
  ClientSocket1->Port=1100;
  ClientSocket1->Host=Edit1->Text;
  ClientSocket1->Address=Edit1->Text;
  ClientSocket1->Active=true;
}


В таймере такаой код :

 
Код:
if(ServerSocket1->Active==true)
    for(int i=0;i<100;i++)
     ServerSocket1->Socket->Connections[0]->SendBuf(&CreaturePos[1],sizeof(int));
   else
    for(int i=0;i<100;i++)
     ClientSocket1->Socket->SendBuf(&CreaturePos[1],sizeof(int));


При создании сервера пишет ошибку "List of index out of bounds(0)". Я так понимаю что он даёт ошибку потому что клиент не подрубился а он уже пытается послать информацию ?? Какое нужно написать условие что бы он видел когда подключен клиент а когда нет ? И прав ли я вообще ?
CreaturePos[1] - TPoint Нужно ли делать какието изменения в размере буфера ?

Простите что такое спрашиваю просто вижу сокеты только второй час наверное
11
22 ноября 2010 года
oxotnik333
2.9K / / 03.08.2007
 
Код:
if (ServerSocket1->Socket->Connections > 0) // есть подключение
55K
22 ноября 2010 года
Frio
25 / / 26.08.2010
[C++ Error] Siege.cpp(127): E2193 Too few parameters in call to '_fastcall TServerWinSocket::GetConnections(int)'

Выдаёт такую ошибку.
11
22 ноября 2010 года
oxotnik333
2.9K / / 03.08.2007
 
Код:
if (ServerSocket1->Socket->Connections->Count > 0) // есть подключение
55K
22 ноября 2010 года
Frio
25 / / 26.08.2010
Такого вообще нету ))) зато есть Connected булеановский...но если написать так
 
Код:
if (ServerSocket1->Socket->Connections->Connected==true)

пишет ошибку [C++ Error] Siege.cpp(127): E2193 Too few parameters in call to '_fastcall TServerWinSocket::GetConnections(int)'.....

Если написать так :
 
Код:
if (ServerSocket1->Socket->Connections[0]->Connected==true)

Снова пишет "List of index out of bounds(0)"

Может тут в чём то в другом ошибка ?
55K
22 ноября 2010 года
Frio
25 / / 26.08.2010
Зааакрывааем.....
 
Код:
if(ServerSocket1->Socket->ActiveConnections>0)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог