2009-10-13 15 views
7

मैं नेटवर्क प्रोग्रामिंग उदाहरणों के लिए बीज की मार्गदर्शिका संकलित करने की कोशिश कर रहा हूं, लेकिन विंडोज एक्सपी में ऐसा कोई फ़ंक्शन नहीं है। मैं mingw का उपयोग कर रहा हूँ, अगर यह कोई फर्क पड़ता है।क्या Windows XP में inet_ntop/InetNtop का कोई विकल्प है?

+0

inet_ntop विंडोज फोन 8.1 पर विंसॉक कार्यान्वयन में भी गायब है । एमएस इस तरह के अपंग प्लेटफॉर्म की सफलता के लिए कैसे उम्मीद कर सकता है? –

उत्तर

6

यदि आप केवल आईपीवी 4 पते से निपट रहे हैं, तो आप inet_ntoa का उपयोग कर सकते हैं। यह विंडोज 2000 या बाद में उपलब्ध है। अन्यथा आपको या तो Vista और बाद में आवश्यकता होगी, या अपना खुद का inet_ntop फ़ंक्शन लिखना होगा।

आप बूस्ट को भी देख सकते हैं - बूस्ट :: एएसओ में inet_ntop कार्यान्वयन है जो विंडोज़ में काम करता है: boost::asio::detail::socket_ops::inet_ntop। आप स्रोत कोड here देख सकते हैं।

+4

inet_ntoa विंडोज़ के प्रत्येक संस्करण पर WinSock2 के साथ उपलब्ध है, जब आप न्यूनतम संस्करण की बात करते हैं तो आप एमएसडीएन पर भरोसा नहीं कर सकते हैं, वे Win9x और NT4 – Anders

+0

के बारे में भूल गए हैं, MinGW शीर्षलेखों में inet_ntop की घोषणा नहीं है। तो विंडोज विस्टा पर भी और बाद में आप इसका उपयोग नहीं कर सकते :( – Youda008

8

विनसॉक परत से: WSAAddressToString (ntop) और WSAStringToAddress (pton)

+1

ध्यान दें कि 'WSAAddressToString' पोर्ट नंबर को भी जोड़ देगा यदि आपकी पता संरचना में एक है। तो केवल आईपी प्राप्त करने के लिए, आपको एक नया पता बनाना पड़ सकता है कोई बंदरगाह के साथ। – jowo

3

वहाँ भी है POSIX compliant libc for Windows (PlibC) पुस्तकालय में inet_ntop समारोह है कि विंडोज के लिए POSIX अनुप्रयोगों पोर्टिंग के लिए बनाया गया था। online documentation में इसके बारे में कोई नोट नहीं है, लेकिन यह 2008 से कम से कम फ़ाइल inet_ntop.c में फ़ाइल (फ़ाइल तिथि के अनुसार) में मौजूद है।

const char * inet_ntop(int af, const void *src, char *dst, size_t size) 
0

आप विंडोज 7

#include <winsock2.h> 
#include <windows.h> 
#include <ws2tcpip.h> 

पर MinGW -64 के साथ winsocket उपयोग कर सकते हैं linkwith

gcc showip.c -lws2_32 

लक्ष्य: x86_64-W64-mingw32 थ्रेड मॉडल: Win32 जीसीसी संस्करण 6.3। 0 (जीसीसी)

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