आईपी ​​पते के बिना सॉकेट से कनेक्ट हो रहा है?

मैं सोच रहा था कि क्या मैं सर्वर के आईपी पते को जानने के बिना सॉकेट से कनेक्ट कर सकता हूं, उदाहरण देखें:

सर्वर:

from socket import *

s = socket(AF_INET, SOCK_STREAM)
s.bind(("", 8080))
s.listen(1)

conn, addr = s.accept()

संपादित करें: यह चाल है सर्वर कैसे बनाएं लैन क्लाइंट के लिए खोजने योग्य

0
जोड़ा संपादित
विचारों: 1
क्या आपका मतलब सभी या बस कोई यादृच्छिक सर्वर है?
जोड़ा लेखक shad0w_wa1k3r, स्रोत
पोर्ट 8080 पर चल रहे बहुत से सर्वर हैं ...
जोड़ा लेखक jazzpi, स्रोत

3 उत्तर

मुझे यकीन नहीं है कि आपका लक्ष्य क्या है, लेकिन आम तौर पर एक टीसीपी क्लाइंट सॉकेट के लिए, आपको उस सर्वर के लिए एक आईपी पता चाहिए जो आप कनेक्ट करना चाहते हैं।

आप एक आईपी पता निर्दिष्ट करने से बचना क्यों चाहते हैं?

0
जोड़ा
मैंने अपना प्रश्न अपडेट किया।
जोड़ा लेखक Kava, स्रोत

इसे छोटा करने के लिए:

नहीं

एक चीज जो आप कर सकते हैं, सभी आईपी पतों के माध्यम से जा रहे हैं (आईपीवी 4 के लिए केवल 4228250625, आईपीवी 6 के लिए 274941996890625) और यह जांच कर रहे हैं कि वे पोर्ट 8080 पर सुन रहे हैं या नहीं। इसके साथ समस्या यह है कि यह

  • बड़ी मात्रा में समय लें और
  • पोर्ट 8080 पर एक से अधिक सर्वर सुनने की संभावना है।

तो, नहीं।

0
जोड़ा

बस क्लाइंट के लिए "" पास करें ...

s = socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("", 8080))

... और आप सर्वर से कनेक्ट करने में सक्षम होंगे।

(स्पष्ट रूप से वे दोनों को काम करने के लिए एक ही मशीन पर चलना होगा)

0
जोड़ा
उसी मशीन के लिए आप "लोकलहोस्ट" भी कह सकते हैं
जोड़ा लेखक schwiz, स्रोत
मेरा लक्ष्य दो अलग-अलग मशीनों के साथ इसे हासिल करना है।
जोड़ा लेखक Kava, स्रोत
यदि आपका लक्ष्य दो अलग-अलग मशीनों पर ऐसा करना है तो आपको सर्वर आईपी पते को जानना होगा ...
जोड़ा लेखक lafuzz, स्रोत