मैं जावा में एक पी 2 पी फाइल शेयरिंग प्रोटो/सॉफ्टवेयर करने की कोशिश कर रहा हूं। मुझे सॉकेट का उपयोग करके सीखने में दिलचस्पी है, नहीं, मैं जेXTए या किसी भी प्रकार की एपीआई का उपयोग नहीं करूंगा।बिट्सोरेंट और ग्नुटेला फ़ाइलों को स्थानांतरित करते समय एनएटी को बाईपास करने के लिए क्या उपयोग करता है?
मैं टीसीपी छेद पंचिंग के बारे में पढ़ा है, और यह सब नेट प्रकार पर काम न करें। लेकिन मैं देख सकता हूं कि ग्नुटेला और बिटटोरेंट हमेशा कोशिश की जाने वाली प्रत्येक मशीन/एनएटी पर काम करता है। तो क्या वे होस्ट के बीच कनेक्शन शुरू करने के लिए टीसीपी होल पंचिंग का उपयोग करते हैं?
इसके अलावा, इस तरह एक कोड टीसीपी होल छिद्रण करना होगा?
final ServerSocket s = new ServerSocket(7777);
Thread t = new Thread(new Runnable(){
public void run() {
try
{
s.accept();
}
catch(Exception ex)
{
}
}
});
Socket sock = new Socket();
sock.connect(new InetSocketAddress("IP ADDRESS", 7777), 50000);
बहुत ही रोचक सवाल (+1) –