Hola, tengo un grave problema, estoy haciendo un chat con socket, conecto todos los socket al puerto 8092, y como ip localhost, todo bien conecta y todo perfecto
, pero (siempre hay un pero
) al escribir un mensaje y al apretar en el boton Enviar (estoy enviando de Servidor a CLiente un mensaje) me marca el siguiente error:
:: Windows socket error: No se ha permitido una petición para enviar o recibir datos ya que el socket no está conectado y no se ha proporcionado ninguna dirección, al realizar el envío en un socket de datagramas por medio de una llamada sendto (10057), on API 'send' ::
pero cuando envio de Cliente a servidor lo hace perfecto, el problema está al enviar de servidor a cliente y se me desconecta de inmediato...
un poco de codigo:
Cliente Socket
propiedad OnRead
Código Delphi
[-]var
Listo,Comando: String;
begin
Comando:= Trim(Socket.ReceiveText);
Listo:= Copy(Comando, 0, 3);
Delete(Comando, 0, Pos('|', COmando));
if Listo = 'MSS' then begin
Memo1.Lines.Add(Comando);
Socket.SendText('LST|');
end;
if Listo = 'LST' then begin
Memo1.Lines.Add(MSGS);
end;
Servidor Socket:
propiedad OnCLientRead:
Código Delphi
[-]
var
Listo,Comando: String;
begin
Comando:= Trim(Socket.ReceiveText);
Listo:= Copy(Comando, 0, 3);
Delete(Comando, 0, Pos('|', COmando));
if Listo = 'MSG' then begin
Memo1.Lines.Add(Comando);
Socket.SendText('LST|');
end;
if Listo = 'LST' then begin
Memo1.Lines.Add(MSGS);
end;
boton enviar:
Código Delphi
[-]if Button1.Enabled = False then begin
MSGS:= Edit2.Text;
CLiente.Socket.SendText('MSG|'+Edit1.Text+' : '+MSGS);
end else
begin
MSGS:= Edit2.Text;
Servidor.Socket.SendText('MSS|'+Edit1.Text+' : '+MSGS);
end;
gracias espero que me puedas ayudar...
vuelvo en la noxe gracias
54LU2