22/07/21 8:01
Valcars92
Salve a tutti rieccomi dinuovo a rompere le scatole xD..... Ho un problema con un programma Client/Server che stavo provando a fare però ho un problema con la funzione socket.connected..o meglio ho provato anche a mandare un messaggio a client ma sembra che non ci sia proprio la connessione... cioè il server si connette al client un secondo poi si disconnette non riesco a capire il perchè... almeno questo è il problema che penso che sia... comunque posto il codice che a spiegare non è il mio forte xD
==========
SERVER
==========
Program.cs
Classe Network.cs (SERVER)
==========
CLIENT
==========
Program.cs
Classe Network.cs (CLIENT)
In pratica l'output è che il client mi dice connesso mentre il serve mi mostra come output non connesso...non riesco proprio a capire il perchè......
==========
SERVER
==========
Program.cs
using System; namespace Server { class Program { static void Main(string[] args) { Network netWork = new Network(); netWork.initClient(); if(netWork.clientSocket.Connected == true) { Console.WriteLine("Connesso"); Console.ReadLine(); } else { Console.WriteLine("non connesso"); Console.ReadLine(); } } } }
Classe Network.cs (SERVER)
using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Sockets; using System.Text; using System.Threading.Tasks; namespace Client { class Network { public Socket clientSocket; public void initClient() { Socket acceptSocket; clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPEndPoint remoteEP = new IPEndPoint(IPAddress.Any, 11000); try { clientSocket.Bind(remoteEP); clientSocket.Listen(10); Console.WriteLine("In attesa di connessioni......"); acceptSocket = clientSocket.Accept(); } catch(ArgumentNullException ane) { Console.WriteLine(ane.ToString()); }catch (SocketException se) { Console.WriteLine(se.ToString()); }catch (Exception e) { Console.WriteLine(e.ToString()); } } } }
==========
CLIENT
==========
Program.cs
using System; namespace Client { class Program { static void Main(string[] args) { Network netWork = new Network(); netWork.initConnection(); if (netWork.serverSocket.Connected == true) { Console.WriteLine("Connesso"); Console.ReadLine(); } else { Console.WriteLine("non connesso"); Console.ReadLine(); } } } }
Classe Network.cs (CLIENT)
using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Sockets; using System.Text; using System.Threading.Tasks; namespace Client { class Network { public Socket serverSocket; public void initConnection() { serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPEndPoint remoteEP = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 11000); while (!serverSocket.Connected) { try { serverSocket.Connect(remoteEP); } catch (ArgumentNullException ane) { Console.WriteLine(ane.ToString()); } catch (SocketException se) { Console.WriteLine(se.ToString()); } catch (Exception e) { Console.WriteLine(e.ToString()); } } } } }
In pratica l'output è che il client mi dice connesso mentre il serve mi mostra come output non connesso...non riesco proprio a capire il perchè......
Ultima modifica effettuata da Valcars92 22/07/21 8:03