Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-07-2021
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.216
Poder: 24
newtron Va camino a la fama
Socket Error

Hola a tod@s.

Tengo una aplicación que se conecta a un cajón monedero automático enviando/recibiendo mensajes por sockets. Lo que hago es configurar las siguientes propiedades del socket:
Código Delphi [-]
ClientSocket1.Port:=31001;
ClientSocket1.ClientType := ctBlocking;
ClientSocket1.Active := True;
y luego hago
Código Delphi [-]
DlgPropiedades.ClientSocket1.Socket.SendText('......');
dependiendo de lo que quiera hacer, inicializar, cobrar, etc. y me devuelve una cadena en ClientSocket1.Socket.ReceiveText

El tema es que de de golpe y porrazo estoy recibiendo el siguiente error:

Windows socket error: Se ha forzado la interrupción de una conexión existente por el host remoto (10054), on API 'recv'

¿Alguien me puede dar luz de cual puede ser el problema?

¿La propiedad "ClientSocket1.ClientType := ctBlocking" qué significa? ¿puede ser que haya que configurarlo como ctNonBlocking?

Gracias y un saludo
__________________
Be water my friend.

Última edición por Casimiro Noteví fecha: 02-07-2021 a las 19:26:25.
Responder Con Cita
  #2  
Antiguo 02-07-2021
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.682
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
No se debe usar ClientSocket1.Active := True; cuando se está usando ClientType := ctBlocking;
Eso es al menos lo que me comentó alguien que sabía del tema.
Ejemplo:
Código Delphi [-]
var
  cs1: TClientSocket;
begin
  cs1 := TClientSocket.Create(nil);
  try
    cs1.ClientType := ctBlocking;
    cs1.Address := '127.0.0.1';
    cs1.Port := 8890;
    // //  cs1.Active:=true;   ¡¡¡ No usar con ctBlocking !!!
    cs1.Open;
    // enviar petición
    cs1.Socket.SendText(cCad);      // enviar petición
Responder Con Cita
  #3  
Antiguo 03-07-2021
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 4.216
Poder: 24
newtron Va camino a la fama
Antonio.


Ok, probaré haciendo un open.


Gracias y un saludo
__________________
Be water my friend.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Servidor FTP, error de socket mjjj Seguridad 6 05-02-2009 00:10:16
error de socket carloscampoy Internet 20 10-12-2007 02:08:00
Asyncronous socket error pipo123 Internet 0 19-04-2007 18:19:34
NMFTP :Error 10038 Socket operation on non socket judit Internet 2 25-05-2006 09:06:33
Socket error # 11001 floren Internet 2 22-04-2004 09:23:11


La franja horaria es GMT +2. Ahora son las 22:09:01.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi