Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di ShaleN
    Registrato dal
    Aug 2010
    Messaggi
    517

    [VB.NET]Impossibile stabilire la connessione. Rifiuto persistente...

    Salve a tutti. Sto sviluppando un'applicazione client-server in vb.net 2008 seguendo l'esempio che ho trovato su una guida. Il codice che pone in ascolto il server è questo:

    codice:
    'Inizializza il listener e inizia l'ascolto sulla porta
            '5000. Inoltre, attiva il timer per controllare se ci
            'sono connessioni in arrivo. Il timer scatta ogni 100ms
            Listener = New TcpListener(IPAddress.Parse("127.0.0.1"), 5000)
            Listener.Start()
            tmrConnections.Start()
            txtLog.AppendText("Server - in ascolto..." & Environment.NewLine)
    e quello per verificare se ci sono connessioni in lista (sempre sul server) è questo:

    codice:
    'Se ci sono connessioni...
            If Listener.Pending() Then
                'Ferma un attimo il timer
                tmrConnections.Stop()
    
                'Chiede all'utente se confermare la connessione
                If MessageBox.Show("Rilevato un tentativo di connessione. Accettare?", Me.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
                    'Ottiene l'oggetto TcpClient collegato al client
                    Client = Listener.AcceptTcpClient()
                    'Ferma il listener
                    Listener.Stop()
                    'Ottiene il network stream
                    NetStream = Client.GetStream()
                Else
                    Listener.Stop()
                    Listener.Start()
                    tmrConnections.Start()
                End If
            End If
    Dove tmrConnection è un timer, Listener è un oggetto di tipo TcpListener, NetStream è di tipo NetworkStream e Client è di tipo TcpClient

    Il codice che tenta di connettere il client è questo:

    codice:
     Dim IP As Net.IPAddress = Nothing
    
            'Prima esegue un controllo sull'indirizzo IP per 
            'controllare che sia valido
            If Not Net.IPAddress.TryParse("127.0.0.1", IP) Then
                MessageBox.Show("IP non valido!", Me.Text, MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
                Exit Sub
            End If
    
            IP = IPAddress.Parse("127.0.0.1")
            'Quindi inizializza un client e tenta la connessione
            'al dato IP sulla porta 5000
            Client = New TcpClient()
            txtLog.AppendText("Client - tentativo di connessione..." & vbCrLf)
            Try
                Application.DoEvents()
                Client.Connect(IP, 5000)
            Catch Ex As Exception
                MessageBox.Show(Ex.Message)
            End Try
    
            'Se la connessione ha avuto successo, ottiene il network
            'stream e agisce sui controlli come nel codice precedente
            If Client.Connected Then
                txtLog.AppendText("Tentativo di connessione riuscito!" & vbCrLf)
                NetStream = Client.GetStream()
                EnableControls(True)
            Else
                txtLog.AppendText("Tentativo di connessione fallito..." & vbCrLf)
            End If
    Client è un oggetto diverso, sempre di tipo TcpClient.
    In entrambi txtLog è una textbox.
    Ogni volta che tento di connettere il client (il server è sempre in ascolto) ricevo il messaggio di errore: "Impossibile stabilire una connessione. Rifiuto persistente del computer di destinazione 127.0.0.1:5000"

    Cosa sto sbagliando?? Probabilmente sarà una cavolata ma è la prima volta che sviluppo una cosa del genere.

    Grazie in anticipo.
    Le vie del Signore sono infinite. È la segnaletica che lascia a desiderare.
    La luce viaggia più veloce del suono. Per questo alcune persone sembrano brillanti finchè non parlano.
    Occhio per occhio uguale... occhio al quadrato

  2. #2
    Utente di HTML.it L'avatar di ShaleN
    Registrato dal
    Aug 2010
    Messaggi
    517
    Nessuno mi sà rispondere?
    Le vie del Signore sono infinite. È la segnaletica che lascia a desiderare.
    La luce viaggia più veloce del suono. Per questo alcune persone sembrano brillanti finchè non parlano.
    Occhio per occhio uguale... occhio al quadrato

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.