Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

передача данных по сети


Страницы:   1 2

Тимофей Юрьевич ©   (2006-06-15 13:57:00) 

подскажите как быть и что использовать,задача такая:
клиент открывает форму,вписывает логин/пароль нажимает кнопку,по нажатию кнопки данные должны отсылаться на сервер,там проверяется если такой пользователь и пароль к нему,если да,то открывается основное окно у клиента.
Как реализовать? Спасибо


medved_68   (2006-06-16 11:55:00) [1]

Если подключено несколько клиентов и один из подключенных что там передал


Сергей М.   (2006-06-16 10:58:00) [2]


> medved_68 ©   (16.06.06 10:43) [35]


Ну и зачем нужен этот цикл в обработчике события OnСlientRead ?


medved_68   (2006-06-16 10:43:00) [3]


> clientsocket1.Host:='***';
> clientsocket1.Active:=true;

Далее в клиенте пропиши
procedure ClientSocketOnConnect
begin
ClientSocket1.Socket.SendText('I am Vasja');
end;
procedure ClientSocketOnRead
var
sd:string;
begin
sd:=ClientSocket1.Socket.ReciveText;
...А дальше что хочешь делай с принятой строкой
end;

на сервере подними

procedure ServerSocket1.OnСlientRead
var
i:integer;
begin
for i:=0 to ServerSocket1.Socket.ActiveConnections do
begin
if ServerSocket1.Socket.Connections[i].ReciveLength > 0
then
begin
......либо принимаем данные и проверяем
....либо что то отправляем этому клиенту
end;
end;

И все должно работать как часы в режиме stNonBlocking;


jb   (2006-06-15 18:59:00) [4]

Короче есть у TClientSocket событие OnConnect там пиши как ему текст отправлять. Хошь пример на мыло?


Тимофей Юрьевич   (2006-06-15 18:54:00) [5]

все понял,все норм работает если флаг ctNonBlocking,но при этом опять проблема при нажатии кнопки послать,срабатывает дествие только со второго раза


Тимофей Юрьевич   (2006-06-15 18:19:00) [6]

народ,подсобите плиз


Тимофей Юрьевич   (2006-06-15 17:49:00) [7]

а как сервер понимает что отправка идет клиенту и его хост
if socket.ReceiveText = 'bagos/timatima' then
socket.sendtext('Start');

???


Сергей М.   (2006-06-15 16:57:00) [8]

Плохо.
Срочно учись им пользоваться.


Тимофей Юрьевич   (2006-06-15 16:56:00) [9]

тапком не дается!)
это компилятор,отладчиком пользоваться не умею :(


Сергей М.   (2006-06-15 16:50:00) [10]


> вылезает ошибка


А ты ее тапком ! Тапком !)

Эт что, отладчик показал ту самую ошибку ? Или "что вижу, то и пою" ?


Тимофей Юрьевич   (2006-06-15 16:44:00) [11]

вылезает ошибка
Asynchronous socket error 10053


Сергей М.   (2006-06-15 16:42:00) [12]

Ну так воспользуйся им !
В чем дело-то ?


Тимофей Юрьевич   (2006-06-15 16:11:00) [13]

не,не в первый;)


Сергей М.   (2006-06-15 16:00:00) [14]

На то есть отладчик.

Воспользовался им ?
Или первый раз в жизни слышишь это слово ?


Тимофей Юрьевич   (2006-06-15 15:53:00) [15]

данные от сервера к клиенту не передаются


Сергей М.   (2006-06-15 15:50:00) [16]

Ну и ?
В ЧЕМ запутался-то ?


Тимофей Юрьевич   (2006-06-15 15:32:00) [17]

чет я запутался,
в сервере получается

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
 Socket: TCustomWinSocket);
begin
if socket.ReceiveText = 'bagos/timatima' then
while Socket.SendText('vvvvvvv') = -1 do
Application.Processmessages;
end;

в клиенте
procedure TForm1.ClientSocket1Read(Sender: TObject;
 Socket: TCustomWinSocket);
begin
edit3.Text:=socket.ReceiveText;
end;


Сергей М.   (2006-06-15 15:24:00) [18]

Это уж тебе визнее, что ты туда "впишешь".

А смысл и назначение метода ReceiveText при этом остается неизменным


Тимофей Юрьевич   (2006-06-15 15:23:00) [19]

в onread клиента надо вписать
edit3.Text:=socket.ReceiveText; ???


Сергей М.   (2006-06-15 15:22:00) [20]

Ну тады бросай затею


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо