Visualizzazione dei risultati da 1 a 7 su 7

Hybrid View

  1. #1
    pultroppo lato server non so bene cosa accade ... devo replicare le chiamate di un software scritto in VB (credo) che dialoga con un programma lato server . Con un packet sniffer ho visto che la chiamata che questo sw fa è cosi':
    S1.jpg

    in pratica apre una chiamata sulla porta 7000 e fa un paio di send calls (mandando la stringa BL01 seguita dall'ascii FF).
    Non ho idea se in Java posso parlare con un socket scritto in VB, e soprattuto non so se lo sto facendo nel modo giusto, solo che il mio eseguibile va perfettamente dritto senza errori, ma secondo lo sniffer io non apro nessun socket.

    la ditta che manteneva questo software e' sparita (viva la crisi) quindi non so che altro fare e a chi altri chiedere info...


  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da Popper Visualizza il messaggio
    in pratica apre una chiamata sulla porta 7000 e fa un paio di send calls (mandando la stringa BL01 seguita dall'ascii FF).
    Innanzitutto FF non è una stringa (non devi certo mandare due 'F') e non è neppure ASCII nel senso proprio del set di caratteri ASCII.
    È semplicemente 1 byte con tutti i bit a '1'.

    Quel 255 (0xFF) è una sorta di "terminatore" di ogni comando? Io ovviamente non lo posso sapere ....

    Nel tuo codice iniziale non si vede alcuna gestione di questo 0xFF. Tra l'altro, writeChars NON va bene, perché ciascun carattere viene inviato come 16 bit (2 byte) proprio secondo lo Unicode (UTF-16) e oltretutto in Big-Endian (il byte "alto" viene per primo).

    Quindi out.writeChars("BLO1") (qui ho messo O invece che 0) invierebbe 8 byte:

    00 42 00 4C 00 4F 00 31

    E se lo screenshot è la sequenza giusta ... ovviamente non è assolutamente corretto!
    Dovresti usare writeBytes(String s) che scarta il byte alto e funziona perlomeno con caratteri ASCII o al massimo ISO-8859-1.


    Quote Originariamente inviata da Popper Visualizza il messaggio
    Non ho idea se in Java posso parlare con un socket scritto in VB
    In generale, certo che è possibile! Basta solo conoscere i dettagli del "protocollo" di comunicazione.
    Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    Java Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.