ठीक है सबसे पहले मैं यह उल्लेख करना चाहता हूं कि मैं क्या कर रहा हूं पूरी तरह से नैतिक है और हाँ मैं पोर्ट स्कैनिंग कर रहा हूं।सी ++ लिनक्स में सॉकेट टाइमआउट
पोर्ट बंद होने पर प्रोग्राम ठीक चलाता है लेकिन जब मैं एक बंद सॉकेट पर जाता हूं तो प्रोग्राम बहुत लंबे समय तक रुक जाता है क्योंकि कोई टाइम-आउट क्लॉज नहीं होता है। नीचे निम्न कोड
int main(){
int err, net;
struct hostent *host;
struct sockaddr_in sa;
sa.sin_family = AF_INET;
sa.sin_port = htons(xxxx);
sa.sin_addr.s_addr = inet_addr("xxx.xxx.xxx.xxx");
net = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
err = connect(net, (struct sockaddr *)&sa, sizeof(sa));
if(err >= 0){ cout << "Port is Open"; }
else { cout << "Port is Closed"; }
}
मैं ढेर अतिप्रवाह पर इस पाया है लेकिन यह सिर्फ एक select() आदेश का उपयोग मेरे लिए कोई मतलब नहीं है।
प्रश्न क्या हम कनेक्ट() फ़ंक्शन टाइमआउट कर सकते हैं ताकि हम एक त्रुटि के साथ वापस आने के लिए एक वर्ष का इंतजार न करें?
कोई ज़रूरत नहीं के लिए एक लिंक है - यह बैंक और हर बार बताता है कि आपके पैसे निकालने के लिए और इसे लूटने के लिए नहीं चाहते के लिए दिशानिर्देश पूछकर की तरह है .. – stefanB
: डी अच्छी तरह से डाल दिया। लेकिन मैं पैसे वापस नहीं ले रहा हूं: डी –