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![]()

Rispondi quotando