Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Работа с сетью в Delphi
Регистрация

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

Ответ
 
Опции темы
Старый 05.07.2013, 16:22   #1
ruN00b
Почетный нуб
Форумчанин
 
Аватар для ruN00b
 
Регистрация: 07.05.2013
Адрес: Зеленоград
Сообщений: 155
Репутация: 48
По умолчанию Сокеты и обмен переменными

Нуб нуждается в помощи. Пытаюсь с помощью клиента серверу отправить переменную X типа INTEGER.

Код отправки переменной:
Код:

Var x:integer;
Begin
X:=1;
Clientsocket1.socket.sendbuf(x,sizeof(x));
End;

Код получения переменной:
Код:

Var x:integer;
Begin
X:=socket.receivebuf(x,sizeof(x));
Caption:=inttostr(x);
End;

Проблема в том, что вместо единицы, в заголовке окна пишется 25780 или что-то в этом роде. Коннект происходит.
Укажите на ошибку, пожалуйста.
ruN00b вне форума   Ответить с цитированием
Старый 05.07.2013, 18:20   #2
Slym
Профессионал
 
Регистрация: 07.12.2011
Адрес: Siberia
Сообщений: 1,019
Репутация: 698
По умолчанию

if socket.receivebuf(x,sizeof(x))=size of(x) then
Caption:=inttostr(x);
Slym вне форума   Ответить с цитированием
Старый 05.07.2013, 20:47   #3
саша40
Профессионал
 
Регистрация: 12.09.2012
Сообщений: 1,026
Репутация: -22
По умолчанию

Ой блин, вот держи:
отдача
Код:

Var
T: Integer;

//процедура
begin
ClientSocket1.Socket.SendText(IntToStr(T));
end;

прием
Код:

//onRead
begin
Caption:='приняли число:' + Socket.ReceiveText;
end;

__________________
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума   Ответить с цитированием
Старый 05.07.2013, 20:49   #4
саша40
Профессионал
 
Регистрация: 12.09.2012
Сообщений: 1,026
Репутация: -22
По умолчанию

И ещё: Буфер-это массив, а не переменая.
__________________
Что нужно программисту: Компьютер, Среда программирование, Воображение, Прямые руки, Мозги, Знания этой среды программирования.
Программист-это профессия, а программирование-это моё хобби.
саша40 вне форума   Ответить с цитированием
Старый 05.07.2013, 21:55   #5
Пепел Феникса
Модератор
Заслуженный модератор
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Адрес: Москва
Сообщений: 21,006
Репутация: 3402

icq: 446843180
skype: phoenix_proger
По умолчанию

Цитата:
Сообщение от саша40 Посмотреть сообщение
И ещё: Буфер-это массив, а не переменая.
переменная состоит из байт, потому буфер это все что угодно.

а передавать все как текст не стоит.


ТС, а вы где читаете? надеюсь в процедуре чтения?
__________________
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума   Ответить с цитированием
Старый 05.07.2013, 21:58   #6
ruN00b
Почетный нуб
Форумчанин
 
Аватар для ruN00b
 
Регистрация: 07.05.2013
Адрес: Зеленоград
Сообщений: 155
Репутация: 48
По умолчанию

саша40, окей, а если я буду передавать картинку или видеофайл, как ты это переконвертируешь в текст? А если и переконвертируешь, то, мне кажется, картинка будет "немного" долго конвертироваться в текст, затем загружаться, а потом снова конвертироваться в себя.
ruN00b вне форума   Ответить с цитированием
Старый 05.07.2013, 22:04   #7
Пепел Феникса
Модератор
Заслуженный модератор
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Адрес: Москва
Сообщений: 21,006
Репутация: 3402

icq: 446843180
skype: phoenix_proger
По умолчанию

я вот вспомнил одно, главное помните что TCP протокол вам не дает различий между посылками, потому вам надо их делить самим.
__________________
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума   Ответить с цитированием
Старый 06.07.2013, 18:00   #8
ruN00b
Почетный нуб
Форумчанин
 
Аватар для ruN00b
 
Регистрация: 07.05.2013
Адрес: Зеленоград
Сообщений: 155
Репутация: 48
По умолчанию

Да мне бы хотя бы INTEGER передать... А потом уже отправлять большие файлы..
ruN00b вне форума   Ответить с цитированием
Старый 06.07.2013, 18:09   #9
Пепел Феникса
Модератор
Заслуженный модератор
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Адрес: Москва
Сообщений: 21,006
Репутация: 3402

icq: 446843180
skype: phoenix_proger
По умолчанию

ТС, а вы где читаете? надеюсь в процедуре чтения?
__________________
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума   Ответить с цитированием
Старый 24.07.2013, 10:45   #10
ruN00b
Почетный нуб
Форумчанин
 
Аватар для ruN00b
 
Регистрация: 07.05.2013
Адрес: Зеленоград
Сообщений: 155
Репутация: 48
По умолчанию

извиняюсь, давно не отвечал. да, клиент читает в OnRead.
ruN00b вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с переменными KoBaL PHP 0 23.06.2013 14:48
Документ с переменными Demonss Microsoft Office Excel 1 19.08.2011 07:32
Проблема с переменными PODz Помощь студентам 0 13.11.2009 02:33
Работа с переменными Sapsan Общие вопросы C/C++ 2 24.02.2009 21:02
Проблема с переменными. TheWanderer Общие вопросы C/C++ 5 06.10.2008 18:15


23:46.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru