Salve,
Sono alle prime armi con SharpDevelop.
Tutto gira alla meraviglia, sto scrivendo un piccolo applicativo Client-Server.
Per il momento vorrei che nel ricevere la connessione del client venisse nascosta la finestra. Ma non lo fa.
Ho questo metodo che avvia il Server (Funziona)
codice:
public void StartServer()
{
try
{
status=true;
srv = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
IPHostEntry ipHostInfo = Dns.Resolve("0.0.0.0");
IPAddress ipAddress = ipHostInfo.AddressList[0];
IPEndPoint localEndPoint = new IPEndPoint(ipAddress, 7722);
srv.Bind(localEndPoint);
srv.Listen(1000);
richTextBox.Text = "Server avviato\n";
srv.BeginAccept(new AsyncCallback(OnAccept),srv);
}
catch(SocketException)
{
status=false;
richTextBox.Text = "Errore";
}
}
Ho quest'altro metodo che accetta le connessioni dai client (Funziona, tranne this.Hide(): riceve la connessione, scrive la stringa ma non nasconde la finestra)
codice:
private void OnAccept(IAsyncResult ar)
{
try
{
Socket listener = (Socket)ar.AsyncState;
Socket client = listener.EndAccept(ar);
string ip = client.RemoteEndPoint.ToString().Substring(0,client.RemoteEndPoint.ToString().IndexOf(":"));
AddText("Connesso: "+ip);
this.Hide();
if(status==true)
listener.BeginAccept(new AsyncCallback(OnAccept),listener);
}
catch{}
}
Dove sbaglio? Grazie a tutti