![]() |
Модераторы: feodorv |
![]() ![]() ![]() |
|
Agentx86 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 27.4.2006 Репутация: нет Всего: нет |
Помогите передать и принять структуру по сети. Что надо передавать в полях данные и размер?
struct Contr {short mouse_x; short mouse_y; BYTE action;}; Contr con; send(s,(char*)&con,sizeof(Contr),0); |
|||
|
||||
ptr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 661 Регистрация: 31.5.2006 Где: Новосибирск Репутация: 9 Всего: 14 |
Все зависит от того как устроена программа. В чём проблема то? -------------------- Единственный способ определить границы возможного - это выйти за эти границы, в невозможное. Артур Кларк. |
|||
|
||||
Agentx86 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 110 Регистрация: 27.4.2006 Репутация: нет Всего: нет |
Все решил сам. Всем спасибо.
|
|||
|
||||
ptr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 661 Регистрация: 31.5.2006 Где: Новосибирск Репутация: 9 Всего: 14 |
Ну тогда пометь тему как решённую.
-------------------- Единственный способ определить границы возможного - это выйти за эти границы, в невозможное. Артур Кларк. |
|||
|
||||
witex |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 224 Регистрация: 16.10.2006 Где: Эстония Репутация: 1 Всего: 4 |
А ещё лудше покажи, как решил? мне тож интересно!
--------------------
Я не волшебник, я только учусь."Шлёпни в Гугл" - Афтор Былов Ю.М. |
|||
|
||||
drZmeu |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 22.11.2006 Репутация: 1 Всего: 1 |
Да показывай. Всем интересно ;)
![]() --------------------
[code=html]<table bgcolor='#0' width='69'><tr align='center' bgcolor='#0'><td><font size='6' face='cursive' color='#ffffff'><b>A</b></font></td></tr><tr align="center" bgcolor="#0">[/code] |
|||
|
||||
ptr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 661 Регистрация: 31.5.2006 Где: Новосибирск Репутация: 9 Всего: 14 |
Господа вы меня пугаете
![]() -------------------- Единственный способ определить границы возможного - это выйти за эти границы, в невозможное. Артур Кларк. |
|||
|
||||
drZmeu |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 22.11.2006 Репутация: 1 Всего: 1 |
![]() Да ладно тебе ptr просто никогда не сталкивались =))) Мне чёт кажется вот так : struct Contr {short mouse_x; short mouse_y; BYTE action;}; Contr con; send(s,con,sizeof(con),0); или так: send(s,con,strlen(con),0); ![]() Ну незнаю я =))) Хотя скоро пригодится =) --------------------
[code=html]<table bgcolor='#0' width='69'><tr align='center' bgcolor='#0'><td><font size='6' face='cursive' color='#ffffff'><b>A</b></font></td></tr><tr align="center" bgcolor="#0">[/code] |
|||
|
||||
witex |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 224 Регистрация: 16.10.2006 Где: Эстония Репутация: 1 Всего: 4 |
send(s,(constr char*)&con,sizeof(Contr),0); банально! я посмотрел ещё тогда в мсдн и в купил! там же чётко написанно какой тип данных передаётся! тема старая, решённая! если автор забыл поставить галочку о том что тема решена! ненадо её поднимать!
drZmeu , не трогой темы тарые! Это сообщение отредактировал(а) witex - 6.1.2007, 23:30 --------------------
Я не волшебник, я только учусь."Шлёпни в Гугл" - Афтор Былов Ю.М. |
|||
|
||||
Sergio |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 843 Регистрация: 28.7.2006 Где: Solar System-> Earth Репутация: нет Всего: 1 |
Народ помогите и мне передать структуру. Вот что я написал:
Потом:
Какая-то ошибка ![]() И еще вопрос: как принимать структуру? Что чему присваивать? |
||||
|
|||||
drZmeu |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 22.11.2006 Репутация: 1 Всего: 1 |
Я очень извеняюсь что поднимаю старую тему!
С отправкой структуры всё понятно! А вот с приёмом вобшем у мну такойже вопрос как и у Serqio ! И еще вопрос: как принимать структуру? Что чему присваивать?
К примеру я отправил такую структуру на сервер! Как сервер должен разбирать принятые данные??? Тоесть у сервера есть похожая структура:
Как мне присвоить текст в szRecvSt и байт в szByteSt ,,,???,,, ![]() Ещё раз извеняюсь за поднятие старой темы. написал тут чтоб не создавать новую ! --------------------
[code=html]<table bgcolor='#0' width='69'><tr align='center' bgcolor='#0'><td><font size='6' face='cursive' color='#ffffff'><b>A</b></font></td></tr><tr align="center" bgcolor="#0">[/code] |
||||
|
|||||
Dray |
|
|||
![]() Материалист ![]() ![]() Профиль Группа: Участник Сообщений: 652 Регистрация: 7.10.2003 Где: г. Всеволожск Репутация: нет Всего: 6 |
Не надо её отправлять целеком! Если в структуре есть сложные элементы, такие как строки, то отправлять её надо по частям, и принимать так же. А если у вас там указатели, сами ведь понимаете такое:
НЕ ПРОКАТИТ! |
|||
|
||||
drZmeu |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 183 Регистрация: 22.11.2006 Репутация: 1 Всего: 1 |
>Не надо её отправлять целеком! Если в структуре есть сложные элементы, такие как строки, то >отправлять её надо по частям, и принимать так же. А если у вас там указатели, сами ведь >понимаете такое:код C++
>1: > send(s,con,sizeof(con),0); > > > > >НЕ ПРОКАТИТ! Ну я почемуто так и думал! Неудобно =\ Вопрост тогда зачем передавать структуру полностью аля:
Если её незя принять и разсортировать??? ![]() --------------------
[code=html]<table bgcolor='#0' width='69'><tr align='center' bgcolor='#0'><td><font size='6' face='cursive' color='#ffffff'><b>A</b></font></td></tr><tr align="center" bgcolor="#0">[/code] |
|||
|
||||
Greeen |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 710 Регистрация: 13.8.2006 Где: Петербург Репутация: нет Всего: 18 |
Почему незя, можно. У тебя 1 Кб + 1 байт передаются. Вполне нормальный размер чтобы передавать его целиком. Потом получаешь (recv) и приводишь буфер к твоему типу. -------------------- Подпись больше не нужна |
|||
|
||||
ptr |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 661 Регистрация: 31.5.2006 Где: Новосибирск Репутация: 9 Всего: 14 |
Прежде чем что-либо (структуру, класс ...) передавать по сети, нужно вначале это что-то сериализовать.
-------------------- Единственный способ определить границы возможного - это выйти за эти границы, в невозможное. Артур Кларк. |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |