لدي خادمان على الإنترانت، خادم قاعدة البيانات وخادم الويب. واسمح لمسؤول الشبكة بتعيين عنوان IP للشبكة الخارجية لخادم الويب بحيث يمكن الوصول إلى الشبكة الخارجية والشبكة الداخلية في نفس الوقت. ولكن هذا يخلق مشكلة. يستخدم خادم الويب العنوان النسبي للشبكة الداخلية لاسترداد البيانات، وبهذه الطريقة، عند الوصول من الشبكة الخارجية، لا يمكن الحصول على البيانات ويمكن عرض الإطار فقط. إذا تم أيضًا تعيين خادم قاعدة البيانات، فلن يكون من الممكن الوصول إلى الشبكة الداخلية، ولن أتمكن من تصحيح أخطائها. إذا تم دمج الخادمين في خادم واحد، فستتأثر سرعة التشغيل، والآن لا يرغب الرئيس في استثمار المزيد من الأموال فيه، فهو مجرد عرض توضيحي. ويمكن حل المشكلة أيضًا عن طريق نقل الجهازين إلى غرفة كمبيوتر الشبكة بالمختبر وربطهما مباشرة بالشبكة الخارجية، إلا أن غرفة كمبيوتر الشبكة مغلقة وبها بطاقة دخول، لذا لا أستطيع الدخول وإجراء التغييرات بشكل متكرر.
لقد فكرت في الأمر بعناية وشعرت أنه يجب حل هذه المشكلة من خلال إصدار حكم. ما عليك سوى الحكم على ما إذا كان عنوان IP للشبكة الداخلية أو عنوان IP للشبكة الخارجية، وتنفيذ العملية المقابلة بناءً على الحكم وجدت أن استخدام JS أمر جيد، لأن عنوان IP الذي حصلت عليه JS له ميزة واحدة وهي الحصول على عنوان IP الذي تم تعيينه بواسطة الجهاز المحلي، إذا كان الكمبيوتر متصلاً بالإنترنت من خلال شبكة LAN، فإنه يحصل على عنوان IP الخاص بالشبكة المحلية للكمبيوتر، على عكس الطلب في ASP، الذي يحصل على IP الخاص بالكمبيوتر المتصل بالإنترنت.
الكود (منقول من شخص آخر ولكن يمكنك الرجوع إليه :))
<أتش تي أم أل>
<الرأس>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>تحصل JS على عنوان IP للعميل</title>
</الرأس>
<الجسم>
<script type="text/javascript" language="javascript">
<!--
الدالة GetLocalIPAddress()
{
var obj = null;
فار rslt = "";
يحاول
{
obj = new ActiveXObject("rcbdyctl.Setting");
rslt = obj.GetIPAddress;
obj = null;
}
قبض (ه)
{
// يحدث استثناء
}
إرجاع آر إس إل تي؛
}
document.write("عنوان IP الخاص بك هو:" + GetLocalIPAddress());
//-->
</script>
</body>
</html>
يقال أن التحذيرات قد تظهر أثناء الاستخدام، لكن هذا مجرد اختبار، لا ينبغي أن يكون هناك مشكلة، هههه :)