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

Ваш аккаунт

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

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

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

Передача структуры с помощью соккетов

9.9K
25 декабря 2005 года
chetverg
14 / / 09.09.2005
У меня есть такая структура:

struct game{ bool free;
player player_a;
player player_b;
pole pmass[10][10];
int hod;
};

Как мне её передать с помощью функции SendStream() соккета... или ещё как нибудь.
И как потом на сервере её прочитать.

Спасибо
13K
25 декабря 2005 года
Rat_Salad
11 / / 17.10.2005
Упаковать ее в строку, передать куда надо, там распокавать в нужную структуру.
9.9K
25 декабря 2005 года
chetverg
14 / / 09.09.2005
Цитата:
Originally posted by Rat_Salad
Упаковать ее в строку, передать куда надо, там распокавать в нужную структуру.


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

406
25 декабря 2005 года
vitaly2003s
481 / / 27.07.2004
Цитата:
Originally posted by chetverg
Дело в том, что двумерный массив, каждый элемент которого является структурой не так-то просто перелопатить в строку... даже не представляю как это можно реализовать...


да какую строку,вы о чем люди. бери адрес переменной структуры и ее размер и передавай. правда сначала отошли размер структуры а потом саму структуру.Не знаю что за SendStream а на сокетах я бы реализовал так:

//client
game m_gm;
int size_game=sizeof(game);
send(server,(char*)&size_game,sizeof(int),0);//отослали размер структуры
send(server,(char*)&m_gm,sizeof(game),0);//отослали саму структуру

//server
game m_gm;
int size_packet=0;
recv(server,(char*)&size_packet,sizeof(int),0);//принимаем размер буффера
if(size_packet==sizeof(game))
{
recv(server,(char*)&m_gm,size_packet,0);//читаем саму структуру
}

помоему все просто,другое дело если у тебя структура будет с динамическими массивами,тогда нужно немного будет изменить подход

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог