2010-05-19 14 views
10

मैं इस समय इस समारोह कॉल उपयोग कर रहा हूँ मेरी tcpClient बनाने के लिए:क्या tcpClient में उपयोग किए जाने वाले स्थानीय पोर्ट को निर्दिष्ट करने का कोई तरीका है?

clientSocket = new TcpClient("localhost", clientPort); 

लेकिन clientPort सर्वर के बंदरगाह है।

क्या मेरे लिए tcpClient का उपयोग कर क्लाइंट पोर्ट निर्दिष्ट करने का कोई तरीका है?

धन्यवाद

उत्तर

15

constructor overload that takes an IPEndPoint आप एक विशिष्ट बंदरगाह के लिए TcpClient के आंतरिक सॉकेट बाध्य करने के लिए अनुमति देता है: हाल ही में

IPAddress ipAddress = Dns.GetHostEntry(Dns.GetHostName()).AddressList[0]; 
IPEndPoint ipLocalEndPoint = new IPEndPoint(ipAddress, clientPort); 
TcpClient clientSocket = new TcpClient(ipLocalEndPoint); 
clientSocket.Connect(remoteHost, remotePort); 
+1

परीक्षण में, मैं कनेक्ट करने के लिए एक अलग लाइन का उपयोग करने की जरूरत: clientSocket.Client कनेक्ट करें (रिमोटहोस्ट, रिमोटपोर्ट); । ClientSocket.Connect का उपयोग क्लाइंटपोर्ट को मेरे ऊपर बदल देगा। –

संबंधित मुद्दे

 संबंधित मुद्दे