Вниз
Скачать: 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.015 c
3-22968
Vertx
2003-04-17 11:42
2003.05.08
Как переделать типизированный файл (стринговая запись) в .db???


7-23407
[BAD]Angel
2003-03-16 21:08
2003.05.08
Как выключить комп?


1-23149
_MAXi_
2003-04-23 16:15
2003.05.08
TreeView Nodes разными цветами?


9-22897
JB
2002-11-29 07:32
2003.05.08
3D Max и игры


1-23096
Sasha
2003-04-26 20:50
2003.05.08
Как окно формы в Delphi сделать объемным?




   Наверх