Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [VB.NET] comunicazione ethernet

    Salve a tutti.
    Dovrei comunicare via cavo di rete con una periferica (sensori di pressione), inviare comandi e ricevere dati; tuttavia non riesco neppure a partire.
    Ho eseguito il codice di esempio della guida ma non trova la periferica, il codice si blocca sulla ricerca alle istruzioni Dim client As TcpClient = server.AcceptTcpClient()

    codice:
      Private Sub Listener()
        Dim server As TcpListener
        server = Nothing
        Try
          Dim localAddr As IPAddress
          localAddr = IPAddress.Any
          server = New TcpListener(localAddr, 0)
          ' Start listening for client requests.
          server.Start()
          ' Buffer for reading data
          Dim bytes(1024) As Byte
          Dim data As String = Nothing
          ' Enter the listening loop.
          While True
            Debug.Print("Waiting for a connection... ")
            ' Perform a blocking call to accept requests.
            ' You could also user server.AcceptSocket() here.
    
            '-------------------------------------------------------------------------
            Dim client As TcpClient = server.AcceptTcpClient() ' si blocca qui...
            '-------------------------------------------------------------------------
    
            Debug.Print("Connected!")
            data = Nothing
            ' Get a stream object for reading and writing
            Dim stream As NetworkStream = client.GetStream()
            Dim i As Int32
            ' Loop to receive all the data sent by the client.
            i = stream.Read(bytes, 0, bytes.Length)
            While (i <> 0)
              ' Translate data bytes to a ASCII string.
              data = System.Text.Encoding.ASCII.GetString(bytes, 0, i)
              Debug.Print("Received: {0}", data)
              ' Process the data sent by the client.
              data = data.ToUpper()
              Dim msg As Byte() = System.Text.Encoding.ASCII.GetBytes(data)
              ' Send back a response.
              stream.Write(msg, 0, msg.Length)
              Debug.Print("Sent: {0}", data)
              i = stream.Read(bytes, 0, bytes.Length)
            End While
            ' Shutdown and end connection
            client.Close()
          End While
        Catch e As SocketException
          'Console.WriteLine("SocketException: {0}", e)
          Debug.Print("SocketException: {0}", e)
        Finally
          server.Stop()
        End Try
        Debug.Print(ControlChars.Cr + "Hit enter to continue....")
      End Sub
    Un grande grazie a chi potrà aiutarmi

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma di che device si tratta con precisione?

    Se hai degli esempi del costruttore, questi devono funzionare. Probabilmente non hai configurato correttamente l'interfaccia con cui comunicano ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Grazie Oregon
    una pedana podobarometrica che sputa fuori valori di pressione
    Purtroppo non ho nessun esempio del costruttore, solo un indirizzo IP e un numero di porta (forse) giusto
    Ma poi ho delle specifiche dei comandi da inviare ma se non riesco nemmeno a vedere la pedana non è che mi servano gran che

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da laricino
    Grazie Oregon
    una pedana podobarometrica che sputa fuori valori di pressione
    Purtroppo non ho nessun esempio del costruttore, solo un indirizzo IP e un numero di porta (forse) giusto
    Ma poi ho delle specifiche dei comandi da inviare ma se non riesco nemmeno a vedere la pedana non è che mi servano gran che
    Rimane da provare la "magia nera" ... :-)

    A parte gli scherzi, se non si sa nulla, non è più un problema di programmazione ...

    Prima di tutto, questo device ha un indirizzo IP ... lo conosci con certezza? Lo devi impostare? Quali sono le altre impostazioni di rete (netmask ...)? La porta ... ? Il protocollo ... TCP/UDP ?

    Insomma, impossibile risponderti ...

    Sei sicuro che sul sito del produttore non si possano ottenere queste informazioni?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Originariamente inviato da oregon
    Rimane da provare la "magia nera" ... :-)

    A parte gli scherzi, se non si sa nulla, non è più un problema di programmazione ...

    Prima di tutto, questo device ha un indirizzo IP ... lo conosci con certezza? Lo devi impostare? Quali sono le altre impostazioni di rete (netmask ...)? La porta ... ? Il protocollo ... TCP/UDP ?

    Insomma, impossibile risponderti ...

    Sei sicuro che sul sito del produttore non si possano ottenere queste informazioni?
    Hai ragione, proverò a sentire la produzione, anche se sono molto restii a rispondere.
    Dimmi solo se quanto stavo facendo ha senso, è questo il modo giusto di collegarsi a un aperiferica ethernet?
    Comunque grazie

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da laricino
    è questo il modo giusto di collegarsi a un aperiferica ethernet?
    Quel codice è quello di un server che si mette in ascolto di una connessione. Non credo sia quello che ti serve perché non penso che la periferica contatti il tuo server. Semmai è il contrario, la periferica ascolta e tu devi scrivere solo un codice "client" per collegarti.

    Ma non è proprio detto ... dipende dal device ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  7. #7
    Originariamente inviato da oregon
    Quel codice è quello di un server che si mette in ascolto di una connessione. Non credo sia quello che ti serve perché non penso che la periferica contatti il tuo server. Semmai è il contrario, la periferica ascolta e tu devi scrivere solo un codice "client" per collegarti.

    Ma non è proprio detto ... dipende dal device ...
    Mannaggia. Quindi io dovrei inviare qualche comando alla periferica e questa magari, se ha voglia, risponde? Ma posso, contemporaneamente, inviare comandi e ricevere dati?

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da laricino
    Mannaggia. Quindi io dovrei inviare qualche comando alla periferica e questa magari, se ha voglia, risponde?
    Sì, secondo regole precise.

    Ma posso, contemporaneamente, inviare comandi e ricevere dati?
    Ovviamente ... lo hai detto prima ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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 © 2025 vBulletin Solutions, Inc. All rights reserved.