Error Delphi Sockets
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 :D) 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
Servidor Socket: propiedad OnCLientRead:
boton enviar:
gracias espero que me puedas ayudar... vuelvo en la noxe gracias 54LU2 |
hola, creo que el problema está en que no guardas informacion del socket cliente, y entonces no hay forma de que le puedas enviar un mensaje si no estas dentro del evento ONREAD.
En el Servidor deberias crear una variable tipo TCustomWinSocket y asignarle la variable socket del cliente en el evento ClientRead. Algo asi: procedure TForm1.ss1ClientRead(Sender: TObject; Socket: TCustomWinSocket); begin lb1.Items.Add(socket.RemoteHost+' dice:'); lb1.Items.Add(socket.ReceiveText); cli1:=socket; end; procedure TForm1.Button2Click(Sender: TObject); begin cli1.SendText(edit1.Text); end; Espero te sirva. No creo que sea optimo. Pero funciona. Saludos PD: Si te hace falta te envio el mini codigo que hice para esto. |
gracias lo probaré, y si me gustaria mucho que subieras el ejemplillo, gracias muchas gracias..
|
1 Archivos Adjunto(s)
aqui van los fuentes.
saludos |
gracias, lo revisaré....
|
La franja horaria es GMT +2. Ahora son las 03:42:49. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi