2010-01-06 20 views
6

Ağ bağdaştırıcısına atanan çeşitli IP Adresleri olan bir sunucum var.TCPClient/Socket ile kullanmak için Giden IP adresini belirtin C#

Bu sunucuda, TCPClient aracılığıyla başka bir sunucu uygulamasına bağlanmak için bir istemci uygulamasıdır. Tüm giden iletiler için sunucuların varsayılan IP adresi kullanılıyor, ancak bu uygulama için giden iletişimin başka bir yerel IP adresine gönderilmesini istiyorum.

Başka bir yerel olarak atanmış IP belirtmek için iletişim kurarken mümkün mü?

ben uzak sunucu uygulaması, güvenlik duvarları vb geçecek bu nedenle başka IP'den olduğunu düşünüyorum yapmaya çalışıyorum .... önceden

Teşekkür

cevap

12

Sen kabul TcpClient yapıcısı kullanabilirsiniz yerel bir bitiş noktası adresi: Örneğin

TcpClient c=new TcpClient(new System.Net.IPEndPoint(...)); 

:

TcpClient c=new TcpClient(new IPEndPoint(IPAddress.Parse("192.168.1.1"), 0); 

Referans: TcpClient Constructor (IPEndPoint)

+0

Bunun için, kurucunun uzak ana bilgisayarın bitiş noktası olduğunu yanlış düşünmüştüm. System.Net.Sockets.Socket sınıfı için benzer bir şey var mı? Bir LocalEndPoint Özelliğine sahiptir, ancak yalnızca bir alıcıdır ve bir ayarlayıcı değildir. – DaveHogan

+0

Tamam - Burada açıklandığı gibi Bind yöntemini buldum: http://stackoverflow.com/questions/1508804/setting-a-sockets-local-endpoint Yardımlarınız için çok teşekkürler Aviad – DaveHogan

+0

Diğer IP Kullanmak istediğim yerel bir IP değil mi? – theGD

İlgili konular