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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.02.2011, 16:52   #1
D61C76h
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 24
По умолчанию Вопрос TClientSocket

При подключении к серверу необходимо сразу же отправить сообщение.
Код:
//Подключение к серверу
ClientSocket1.Port := StrToInt(edPort.Text);
ClientSocket1.Address := edIP.Text;
ClientSocket1.Open;
//Отправка номера команды
ClientSocket1.Socket.SendText(IntToStr(RadioGroup3.ItemIndex));
Но сервер не принимает эту команду, т.е. обработчик ServerSocket1ClientRead не реагирует.
Подскажите что не так????
D61C76h вне форума Ответить с цитированием
Старый 19.02.2011, 16:54   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

а сокет вобще подключается хоть куда-то? Что SendText() возвращает?
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 19.02.2011, 17:05   #3
D61C76h
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 24
По умолчанию

SendText возвращает 0. Я просто не могу найти толковую справку или описание по этим компонентам. Может что то подскажете?
D61C76h вне форума Ответить с цитированием
Старый 19.02.2011, 17:09   #4
D61C76h
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 24
По умолчанию

Мне не понятно почему оно не работает. Если
Код:
ClientSocket1.Socket.SendText(IntToStr(RadioGroup3.ItemIndex));
вставить в отдельный обработчик нажатия кнопки (какой то другой кнопки, а не той по нажатию которой происходит подключение и сразу же отправка сообщения), то все работает нормально. То есть проблема именно в том что я отправляю сообщение сразу же после подключения и в том же обработчике, я так понял. Но почему так неясно.
D61C76h вне форума Ответить с цитированием
Старый 19.02.2011, 17:23   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а событие OnConnect для кого?
а то вы еще не подключились но уже пытаетесь отправить текст.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 19.02.2011, 17:26   #6
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Справка по F1 или тут:

http://docwiki.embarcadero.com/VCL/e....TClientSocket
http://docwiki.embarcadero.com/VCL/e....TServerSocket

ЗЫ. Ух ты, там ещё ОнКоннект() надо ждать... а если перевести сокет в блокирующий режим (ClientType = ctBlocking), не проще будет отлаживать?
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 19.02.2011, 17:32   #7
D61C76h
Пользователь
 
Регистрация: 29.03.2010
Сообщений: 24
По умолчанию

Все работает))) Спасибо))) Использовал событие OnConnect.
D61C76h вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по грамотной работе с TClientSocket и TServerSocket zicon Работа с сетью в Delphi 4 18.01.2011 21:44
TClientSocket и TServerSocket _-Re@l-_ Работа с сетью в Delphi 2 29.11.2010 16:22
Ошибка TClientSocket и вопрос qwwwq Работа с сетью в Delphi 2 01.08.2009 13:58
Проблемма с TClientSocket SlashMan Работа с сетью в Delphi 6 14.07.2009 19:20