Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.08;
Скачать: CL | DM;

Вниз

Socket   Найти похожие ветки 

 
Kaginava ©   (2003-03-13 14:04) [0]

мастера подскажите, почему при попытке ClientSocket.socket.SendText("Текст") все время
выскакивает ошибка
"Asynchronous soket error 10053"

это в клиентском приложении, а в серверном

"WINDOWS SOKET ERROR:
Запрос на отправку или получение данных(when sending on a datagram socket using sendto call) no adress was suplied(10057) on API "recv""

перед этим нормально проходит соединение и на сервере фиксируется событие OnClientConnect, а при попытке передачи текста ничего не работает, подскажите в чем дело?
или это ошибка в ДНК :))?


 
Digitman ©   (2003-03-13 14:26) [1]

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


 
Kaginava ©   (2003-03-13 14:51) [2]



клиент:

procedure TForm1.Button1Click(Sender: TObject);
begin
if ClientSocket1.Active<>true then
ClientSocket1.Active:=true;
else
ClientSocket1.Active:=False;

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ClientSocket1.Close;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
try

ClientSocket1.Socket.SendText(Edit1.Text+#10);
except
MessageDlg("Не могу послать сообщение", mtWarning, [mbOK], 0);
end;
end;

procedure TForm1.ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
begin
MessageDlg("Соединились", mtWarning, [mbOK], 0);
end;


сервер:
procedure TForm1.Button1Click(Sender: TObject);
begin
ServerSocket1.Open;
MessageDlg("Открыли сервер", mtWarning, [mbOK], 0);
end;


procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo1.Lines.Insert(0,"Подключился клиент");
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
ClientSocket1.Close;
end;

procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin

Memo1.Lines.Insert(0,"Отключился клиент");
end;

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
memo1.Lines.Insert(0,ServerSocket1.Socket.ReceiveText);
end;


 
Digitman ©   (2003-03-13 15:08) [3]


клиент:

procedure TForm1.Button1Click(Sender: TObject);
begin
if not ClientSocket1.Active then
begin
ClientSocket1.Open;
while not ClientSocket1.Active do
Application.ProcessMessages;
end;
else
ClientSocket1.Close;

end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
ClientSocket1.Close;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
try
ClientSocket1.Socket.SendText(Edit1.Text+#10);
except
MessageDlg("Не могу послать сообщение", mtWarning, [mbOK], 0);
raise;
end;
end;

procedure TForm1.ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
begin
MessageDlg("Соединились", mtWarning, [mbOK], 0);
end;

сервер:

procedure TForm1.Button1Click(Sender: TObject);
begin
if not ServerSocket1.Active then
begin
ServerSocket1.Open;
MessageDlg("Открыли сервер", mtWarning, [mbOK], 0);
end
else
begin
ServerSocket1.Close;
MessageDlg("Закрыли сервер", mtWarning, [mbOK], 0);
end;
end;

procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo1.Lines.Insert(0,"Подключился клиент");
end;

procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
Memo1.Lines.Insert(0,"Отключился клиент");
end;

procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
begin
memo1.Lines.Insert(0, Socket.ReceiveText);
end;

p.s.

пример очень примитивен и будет работать (и то - через раз) ТОЛЬКО при определенных (ограниченных) условиях в лок.сети

реальная логика (надежно работающая в любых условиях в рамках глоб.сети ) гораздо сложней и укладывается далеко не в пару десятков строк


 
Kaginava ©   (2003-03-13 15:51) [4]

Спасибо.



Страницы: 1 вся ветка

Текущий архив: 2003.05.08;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
8-23247
linco
2003-01-30 08:55
2003.05.08
Перемещаемая линия?


14-23283
Manulo
2003-04-21 16:01
2003.05.08
Библиотеки C++ и Delphi


4-23421
Shout
2003-03-08 14:33
2003.05.08
Как получить BMP-шку окна?


9-22906
JOHNY C
2002-12-05 08:49
2003.05.08
набор команды(неужели нет людей)


3-23026
galexis
2003-04-17 18:15
2003.05.08
Отбор записей из таблицы с разным значением определенного