Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.013 c
3-22964
ArtemB
2003-04-17 07:01
2003.05.08
Order By


3-22912
pirat
2003-04-18 11:05
2003.05.08
ADO: как создать БД с нуля программно?


3-22952
Maxusbr
2003-04-20 14:21
2003.05.08
Добавление картинки Jpeg в БД


3-22965
Imshanya
2003-04-16 16:35
2003.05.08
Вопрос по TDBGrid у


3-23007
Сизых Михаил
2003-04-17 20:11
2003.05.08
Маска ввода для компонента TDBEdit




   Наверх