2012-12-30 14 views
5

मैं एक प्रक्रिया शुरू करने की कोशिश कर रहा हूं और इसे एक अप्रयुक्त टीसीपी पोर्ट का उपयोग करने के लिए कह रहा हूं। दुर्भाग्य से, मैं शुरू कर रहा द्विआधारी एक अप्रयुक्त बंदरगाह की जांच नहीं करेगा। क्या मेरे लिए डार्ट में बंदरगाहों की जांच करने का कोई अच्छा तरीका है, इसलिए मैं इसे अपनी प्रक्रिया के लिए तर्क के रूप में उपयोग कर सकता हूं?मैं डार्ट में एक अप्रयुक्त टीसीपी पोर्ट कैसे ढूंढ सकता हूं?

सबसे अच्छा मैं सोच सकता हूं कि ServerSocket 0 के बंदरगाह के साथ, और फिर सॉकेट बंद करें और इसके बंदरगाह का उपयोग करें, लेकिन यह मेरे लिए हैकी लगता है।

किसी के पास कोई बेहतर तरीका है?

उत्तर

2

मैं अपना 'हैक' एक उत्तर के रूप में जोड़ूंगा क्योंकि मैं किसी अन्य तरीके से नहीं सोच सकता, और ऐसा लगता है कि यह बहुत अच्छा काम करता है।

Future<int> getUnusedPort() { 
    return ServerSocket.bind().then((socket) { 
    var port = socket.port; 
    socket.close(); 
    return port; 
    }); 
} 
:

यहाँ मेरी getUnusedPort() समारोह है