Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.04.2010, 12:55   #1
Sam Gold
Форумчанин
 
Аватар для Sam Gold
 
Регистрация: 26.03.2010
Сообщений: 538
Стрелка Trouble с приемом сообщений на сервере

Проблема в следующем: описал класс Message
Код:
class Message{
	
	protected:
	
	string message;
	string from, target;
	SOCKET client_from;
	
	public:
	
	Message();
	Message(string cl_from,string cl_to,string mess,SOCKET sock_from);
	Message& operator =( Message&);
	string get_from();
	string get_target();
	string get_mess();
	SOCKET get_socket();
	int get_from_length();
	int get_target_length();
	int get_message_length();
	~Message();
};


передаю сообщение на сервер:
 char *buf;
   buf=(char *)malloc(sizeof(mes));
   memcpy(&buf,&mes,sizeof(mes));
  send(client,buf,sizeof(mes),0);

сервер принимает
	char *buf;
	buf=(char *)malloc(size);
	int rec=recv(client,buf,size,0);
             Message mess;
             memcpy(&mess,&buf,size);
и после этого вылетает. Подскажите пожалуйста в чем ошибка
Единственный способ стать умнее - играть с более умным противником.

Последний раз редактировалось MaTBeu; 25.04.2010 в 16:32.
Sam Gold вне форума Ответить с цитированием
Старый 25.04.2010, 13:47   #2
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

buf - указатель. Соответственно memcpy копирует по адресу &buf - то есть не туда, куда он указывает, а в сам этот указатель и что за ним.
Somebody вне форума Ответить с цитированием
Старый 25.04.2010, 15:03   #3
Sam Gold
Форумчанин
 
Аватар для Sam Gold
 
Регистрация: 26.03.2010
Сообщений: 538
По умолчанию

memcpy(&mess,buf,size);
так тоже вылетает
Единственный способ стать умнее - играть с более умным противником.
Sam Gold вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск файлов на сервере ugodal Работа с сетью в Delphi 0 24.12.2009 11:33
CodeGear RAD Studio 2009 Architect : Trouble unicode Софт 2 23.05.2009 01:24
Все о сервере! Web-Gangsta Помощь студентам 2 22.04.2009 05:56
PHP на локальном сервере. Xeon332 PHP 5 03.03.2009 16:38
Перехват сообщений от Службы сообщений (Messenger) SJMS Win Api 6 17.07.2008 10:26