![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Client_Server [D6, Win2k, WinXP]
Yot © (2003-09-10 13:11:00)
Мастера помогите !!!!!!!
Пишу клиент серверное приложение при соединении с клиентом сервер должен послать сообщение клиенту о соединении при этом на серверного приложения возникает ошибка. ПОМОГИТЕ.
Вот код :
procedure TForm1.Button1Click(Sender: TObject);
begin
Server.Active:=True;
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
Server.Active:=False;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Client.Host:=Edit1.Text;
Client.Active:=True;
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
Client.Active:=False;
end;
procedure TForm1.ClientRead(Sender: TObject; Socket: TCustomWinSocket);
var s:String;
begin
s:=Client.Socket.ReceiveText;
if s="hi" then MessageBox(Application.Handle,"Connection OK","Info",MB_OK);
Client.Active:=False;
end;
procedure TForm1.ServerClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Server.Socket.SendText("hi"); - Тут возникает ошибка !!!!!
Server.Active:=False;
end;
Verg (2003-09-11 13:57:00) [1]
> Однако, sleep(200) выручал меня всегда, во всяком случае,
> в локалке...
Ну что ж, удачи.
Digitman (2003-09-11 13:48:00) [2]
> Deff
стоит только чуть измениться программно-аппаратной конфигурации твоей "локалки" - и твои sleep(200) коту под хвост..
равносильно тому что подстроившись по своим наручным часам под обычный вроде бы интервал движения электрички, ты рано или поздно опоздаешь на нее
Deff (2003-09-11 13:31:00) [3]
Да ,верг, вы правы.
Однако, sleep(200) выручал меня всегда, во всяком случае, в локалке...
Verg (2003-09-11 12:33:00) [4]
Начинать передавать данные в сокет можно только после получения события
ServerSocket1ClientWrite(Sender: TObject; Socket: TCustomWinSocket);
До этого возникают события Connect и Accept.
Вот поэтому создается впечатление (обманчивое!), что sleep(2000) в Connect-е помогает.
Digitman (2003-09-11 08:13:00) [5]
> Deff
это еще зачем ? где это документировано ?
Deff (2003-09-10 22:51:00) [6]
Такое бывает... Просто сделай перед
Socket.SendText("hi");
такое:
sleep(200);
Digitman (2003-09-10 13:55:00) [7]
> НЕ получается
что ?
Yot (2003-09-10 13:25:00) [8]
НЕ получается
panov (2003-09-10 13:15:00) [9]
procedure TForm1.ServerClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Server.Socket.SendText("hi"); - Тут возникает ошибка !!!!!
Server.Active:=False;
end;
procedure TForm1.ServerClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Socket.SendText("hi");- Тут возникает ошибка !!!!!
Server.Active:=False;
end;