Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicitÓ e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - [C#] Reverse Connection Problema [C#]
Forum - C# / VB.NET - [C#] Reverse Connection Problema [C#]

Avatar
DexterELEL (Normal User)
Pro


Messaggi: 67
Iscritto: 05/01/2011

Segnala al moderatore
Postato alle 11:04
Mercoledý, 07/09/2011
Questo topic Ŕ stato chiuso dal moderatore

Salve ragazzi, ho un piccolo problema nel creare una reverse connection il server si blocca e solo quando riceve la connessione dal client manda i messaggi desiderati.. spiego meglio con i codici..

Client
Codice sorgente - presumibilmente C#

  1. public static void Connetti_Server()
  2.         {
  3.             TcpClient Connector = new TcpClient();
  4.             GetConnection:
  5.             string IP = "127.0.0.1";
  6.  
  7.             try
  8.             {
  9.                 Connector.Connect(IP, 2000);
  10.                 IsConnected = true;
  11.             }
  12.  
  13.             catch
  14.             {
  15.                 goto GetConnection;
  16.             }
  17.         }
  18.         private void button1_Click(object sender, EventArgs e)
  19.         {
  20.             Connetti_Server();
  21.         }



Server:
Codice sorgente - presumibilmente C# / VB.NET

  1. try
  2.             {
  3.                 IPAddress IP = IPAddress.Parse("127.0.0.1");
  4.                 TcpListener myList = new TcpListener(IP, 2000);
  5.                 MessageBox.Show("Connessioni in Ascolto");
  6.                 myList.Start();
  7.                 Socket s = myList.AcceptSocket();
  8.                 MessageBox.Show("Connessione Ricevuta: " + s.RemoteEndPoint);
  9.             }
  10.             catch { }



C'Ŕ qualcuno che saprebbe aiutarmi?? :-|:-|

PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2763
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 11:20
Mercoledý, 07/09/2011
il motivo Ŕ perchŔ AcceptSocket Ŕ bloccante, ovvero tiene appeso il thread chiamante finchŔ non si connette un nuovo client.

ci sono un paio di modi furbi di aggirare questa cosa, il primo Ŕ quello di spostare  la connessione dei client e la ricezione dei dati in un thread separato, il secondo Ŕ quello di usare chiamate non bloccanti, come ad esempio BeginAcceptSocket:

http://msdn.microsoft.com/it-it/library/system.net.sockets ...
http://msdn.microsoft.com/it-it/library/system.net.sockets ...
http://msdn.microsoft.com/it-it/library/system.net.sockets ...
http://msdn.microsoft.com/it-it/library/system.threading.t ...


Ingegnere Informatico
https://ldlagency.it
PM
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5475
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 11:21
Mercoledý, 07/09/2011
Testo quotato

Postato originariamente da HeDo:
ci sono un paio di modi furbi



Direi

un paio di modi standard

di scrivere queste applicazioni ...


Ricorda che nessuno Ŕ obbligato a risponderti e che nessuno Ŕ perfetto ...
PM
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2763
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 11:26
Mercoledý, 07/09/2011
Testo quotato

Postato originariamente da nessuno:

Testo quotato

Postato originariamente da HeDo:
ci sono un paio di modi furbi



Direi

un paio di modi standard

di scrivere queste applicazioni ...



mi sembrava troppo cattivo sottolineare il fatto che queste cose SI DEVONO sapere quando si sviluppa del codice di rete, l'unica cosa che mi dispiace Ŕ che il primo programma di questo tizio Ŕ un trojan... ma che ci vuoi fare, mica posso bannarli tutti :(


Ingegnere Informatico
https://ldlagency.it
PM
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 5475
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 11:27
Mercoledý, 07/09/2011
Testo quotato

Postato originariamente da HeDo:
mica posso bannarli tutti :(



Sicuro ?


Ricorda che nessuno Ŕ obbligato a risponderti e che nessuno Ŕ perfetto ...
PM
Avatar
DexterELEL (Normal User)
Pro


Messaggi: 67
Iscritto: 05/01/2011

Segnala al moderatore
Postato alle 11:34
Mercoledý, 07/09/2011
Utilizzare una Reverse Connection Ŕ sinonimo di trojan?? non mi pare comunque ho risolto..Grazie :D

PM