2016-04-09 7 views
-1

Ich möchte meinen Server verbinden. Mein Server lauscht auf Port 50000.Erstellen Sie Socket-Verbindung (TCP oder UDP) ohne IP-Adresse

  NetworkStream socketStream = null; 
      Socket AcceptedClient;// stream for receiving data   
      byte[] bCode; 

      TcpListener listener = null;  
      IPAddress local = IPAddress.Any; 
      listener = new TcpListener(local, 50000); 

Im Client-Computer:

Ich weiß nicht, IP und Hostnamen davon.

Unsere IP ist in 192.168.1.x

I IP oder den Hostnamen muss es haben.

Ist es möglich, dass ich Socket-Verbindung in diesem Szenario erstellen?

Meine Frage ist: Ist es möglich, andere Computer ohne IP-Adresse zu verbinden? (TCP oder UDP) Vielen Dank.

+0

Es ist ein wenig unklar, was Sie fragen. Fragen Sie, welche IP-Adresse Sie hören sollten? Oder möchten Sie eine Verbindung zu einem anderen Computer herstellen? – CodeCaster

+1

Sie können versuchen, eine Verbindung mit jeder vorhandenen IP-Adresse im Bereich 192.168.1.x herzustellen. – wimh

+0

Bindung an 0.0.0.0:50000 aber Sie müssen wissen, ob TCP oder UDP (kann nicht beides sein). –

Antwort

1

UDP Listener erstellen Objekt

UdpClient client = new UdpClient(); 

für Sende-Code im Broadcast-Modus definieren Endpunkt

IPEndPoint end = new IPEndPoint(IPAddress.Parse("192.168.0.255"),50001); 
byte[] bCodeMelli = System.Text.Encoding.Unicode.GetBytes(strCodeMelli); 
client.SendAsync(bCodeMelli, bCodeMelli.Length, end); 
byte[] bInfo = client.Receive(ref end); 
2

Wenn der Client die Adresse des Servers nicht kennt, sich aber im selben Subnetz befindet, sollten Sie eine UDP-Übertragung vom Client aus verwenden (auf die der Server wartet). Werfen Sie einen Blick auf diese Frage: Sending UDP broadcast, receiving multiple messages

+1

Ich benutze UDP-Protokoll und Broadcast-Nachricht. tnks –