2016-04-12 33 views
-1

Standart TcpListener/TcpClient sınıflarını kullanarak basit bir istemci-sunucu uygulaması yapmaya çalışıyorum. Her şeyden önce, ağ programlamasında yeni başlayan biri olduğumu söylemeliyim. Yani, ben yaptım ama sadece yerel olarak çalışır (her iki bilgisayar aynı ağdadır ve ben TcpListener oluşturmak ve TcpClient için istemci uygulamasından bağlanmak için aynı adresi kullanarak ipconfig (yerel biri mi?) Ipv4 adresini kullanıyorum.İstemci-Sunucu bağlantısı Internet üzerinden çalışmıyor

ben? (bana gösteriyor sağlayıcı tarafından verilen whatismyip.com) benim gerçek IP adresi ile nasıl çalışılır yapabilirsiniz ben istemci üzerinde sunucu ve harici IP 127.0.0.1 kullanmalı mıyım? sabırlı

teşekkür ederiz.

cevap

0

Yapmanız gereken iki şeyden önce, öncelikle herhangi bir ip bağlantısına izin vermek için sunucunuza gereksinim duyuyorsunuz, ikinci olarak, sunucunuzun ip ve bağlantı noktasına bağlanmak için istemciye ihtiyacınız var. Bağlantı noktası f'yi unutma sunucunuz için kullandığınız portu yönlendirin! https://github.com/TheRealNOIG/TylerGregorcyksLibrary/blob/master/TylerGregorcyksLibrary/Main/SimpleClient.cs

:

sonra

private static Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 

void init() 
{ 
    serverSocket.Bind(new IPEndPoint(IPAddress.Any, PORTHERE)); 
    serverSocket.Listen(1); 
    serverSocket.BeginAccept(new AsyncCallback(CallBack), null); 
} 

Ve

private Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 

void init() 
{ 
    while (!clientSocket.Connected) 
    { 
     try 
     { 
      IPAddress ipAd = IPAddress.Parse(IPHERE); 
      clientSocket.Connect(ipAd, PORTHERE); 
     } 
     catch (SocketException e) 
     { 
      Console.WriteLine(e.Message); 
     } 
} 

Ayrıca burada istemci üzerinde kendisine bağlamak gerekir Öncelikle sunucu benim kütüphaneden bir basit istemci bir örnektir

İlgili konular