Salve a tutti ho il seguente problema ho creato un software che utilizza System.Net.Sockets
e System.Text.UTF8Encoding ho programmato tutto e quando sono andato a testarlo ho notato che ci sono problemi enormi in quantop client server nn parlano tra di loro le mie prove sono state le seguenti :

1) windows xp (Server) - windowsxp ( client ) --------> tutto funziona a dovere client e server parlano senza problemi

2) windows xp ( server ) - windows 7 (client ) --------> tutto funziona bene come sopra

3) windows 7( server ) -windows xp (client ) ----------> niente da fare nn ne vogliono sapere di parlare

4) windows 7 (server)- windows 7 (client localhost )-------> funzina tutto a dovere

quindi la mia domanda è la seguente possibile che sia un errore di programmazione oppure di qualche protocollo di protezione a me sconosciuto, premetto che il firewall di 7 ha l'eccezione e lavoravo nella stessa lan.

vi passo i dati esempio di un serverr ascolta e un client connetti

Server Ascolta
codice:
 Listener = New TcpListener(1840)
        Listener.Start()
        tmrConnections.Start()
        btnListen.Enabled = False
        btnConnect.Enabled = False
        txtLog.AppendText("Server - in ascolto..." & Environment.NewLine)
codice:
 Private Sub tmrConnections_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrConnections.Tick
        '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()
                'E attiva/disattiva i controlli per quando si è connessi
                EnableControls(True)
            Else
                Listener.Stop()
                Listener.Start()
                tmrConnections.Start()
            End If
        End If
    End Sub

Client connetti
codice:
  Private Sub btnConnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConnect.Click
        Dim Porta As Integer

        'Prima esegue un controllo sull'indirizzo IP per 
        'controllare che sia valido
  
        'Quindi inizializza un client e tenta la connessione
        'al dato IP sulla porta 5000
        For Porta = "1830" To "1840" Step "1"

            Client = New TcpClient()
            txtLog.AppendText("Client - tentativo di connessione..." & vbCrLf)
            Try
                Application.DoEvents()
                Client.Connect(txtIP.Text, Porta)
            Catch Ex As Exception

            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)
                Exit Sub
            Else
                txtLog.AppendText("Tentativo di connessione fallito..." & vbCrLf)
            End If
        Next
    End Sub

PS il software è stato scritto in framework 3.5 ( sono sicuro al 99%) e con visual studio 2010