Probleme de reception des message via SOCKET

haroun -  
 haroun -
Bonjour,

J'utilise les socket pour se connecter à un automate sur un port.La connexion se passe tres bien et j'arrive meme à
envoyer un message à l'automate.Mon probleme est que le message arrive à l'automate tout collé.
exemple: SocketEcrit("Serveur", "hello world")
Automate recoit le message suivant:"helloworld"
Merci de m aider.

1 réponse

  1. Utilisateur anonyme
     
    En faisant quelques recherches, je crois que c'est dû à une différence de format entre les deux machines. Le caractère d'espace dispose d'un code UNICODE connu alors que la version ANSI ne semble pas être définie. Tu peux essayer la fonction UnicodeVersAnsi pour essayer d'envoyer un espace mais je doute que ça soit possible.

    Source :
    Lien vers documentation SocketEcrit
    Lien vers documentation UnicodeVersAnsi
    0
    1. haroun
       
      Merci d'avoir réagit aussi rapidement.J'essayerai votre proposition...
      0
    2. haroun
       
      Bonsoir,
      j'ai fait ce que vous m'avez recomandé mais ça ne marche toujours pas.
      j'ai constaté qu'en me connectant en telnet sur l'automate(emerald cell dyn), il n'accepte pas non plus les espaces. alors qu'il ya des commandes avec des parametres à saisir.je pense que le probleme vient de là.
      Voici le test effectué en telnet:
      ---------------------------------------------
      EMERALD NET SHELL
      LOADER : V3.40
      FPGA : V0121
      SETUP : A18-012
      APPLI : V3.0.0
      LCD : KYOCERA COLOR B&W
      Copyright : C2 Diagnostics

      Hit ? to have command List
      ---------------------------------------------
      Connecting ....
      C2>
      ?
      HELP MENU

      RUN_CYC , cycle name
      STOP_CYC ,
      GET_MOTOR_STATE , Motor name
      ANALYSE , PID,SID,ID,Type,Test,Mode
      GET_NB_CBC ,
      CLEAR_SETUP , Type
      GET_CALI ,
      SET_CALI , Wbc,Rbc,Hgb,Hct,Plt
      SAVE ,
      GET_INFO ,
      GET_TIME ,
      SET_TIME , hh,mn,ss,01,dd,mm,yy
      GET_SERIAL ,
      GET_VERSION ,
      GET_RELEASE ,
      GET_BOOT ,
      SET_AUTOCLEAN , ON/OFF
      LCD ,
      LIGHT ,
      SET_WBC , Gain,Thres,min, Max, Zoom, Cr, slope
      SET_RBC , Gain,Thres,min, Max, Zoom, Cr, slope
      SET_PLT , Gain,Thres,min, Max, Zoom, Cr, slope
      SET_HGB , Gain
      GET_COUNT ,
      LED_HB , ON/OFF
      RESULT ,
      DEMO ,
      GET_PRN_INFO ,
      CONNECT , null(,)
      VIEW_MEM ,
      MFREE ,
      VIEW_FIFO , sector or MAP or REPAIR
      SET_PROD_PASS ,
      SET_CALI_LOT , LOT; Op ; Date; Tgt Wbc; Rbc; Hgb, Hct ; Plt; Lim Wbc;
      Rbc; Hgb, Hct; Plt
      SET_NET , mode (STD_RS STD_NET DIAG_RS SVM_RS)
      RST ,
      HELP , This
      ? , This
      ?: 0, OK
      C2>
      get_info
      INFO VERSION: V3.0.0 -003, BOOT_ADR 00009bb0h, APP_SIZE 1888344, APP_CRC bc8fh
      INFO BOOT: V3.40, SETUP A18-012, FPGA 121
      COMPILER: V1.4.0.0

      GET_INFO: 0, OK
      C2>
      analyse 1949
      ANALYSE1949: 29, UNKNOWN_COMMAND
      C2>
      C2>
      analyse
      ANALYSE: 32, BAD_PARAM
      C2>
      0
    3. haroun
       
      Bonjour,
      Oui j'ai deja essayé "analyse,1949" mais cette commande non plus n'a pas marché.
      Je confirme que c'est bien cet automate.
      Merci pour tout ton aide.
      0
    4. Utilisateur anonyme
       
      Le problème c'est que je ne trouve pas la documentation du produit en ligne. Elle est sans doute vendue avec le produit. Auquel cas, je ne peux pas vraiment t'aider. C'est sans doute un problème de paramétrage de l'appareil pour accepter les caractères UNICODE (sans doute configuré en ANSI).
      0