عند عمل ربط بين جهازين بواسطه بروتكول TCP المشكلة كيف احصل على الIP لكل جهاز خلال الانترنت ؟

السلام عليكم

مشكلتي هي قمت ببرمجة برنامج Chat بين جهازين ويتم وضع ال IP للطرف المرسل له وفي الشبكة المنزلية يكون سهل الحصول على الIP ويكون عبارة عن 192.168.1.22 وهكذا ولكن عند ربط البرنامج بين جهازين من خلال الانترنت يكون ال IP غير حقيقي فكيف يمكنني بهذه الحالة الارسال والاستقبال , ما هو الIP الذي سوف ارسل له للطرف الاخر في هذه الحالة ؟؟؟

مع العلم استخد VB.NET في برمجني وبروتكول TCP


في حقيقة الامر انا لا اسعى الى برمجة ماسنجر بمعنى الكلمة انا اريد ان ابرمج دعم فني اون لاين او المبيعات اون لاين اريد اي شخص يدخل الموقع يستطيع التواصل مباشرة بمجرد كتابة اسمه وبريده الالكتروني وانا قمت ببرمجة web service لهذا الغرض وجعلت ارسال الكلام واستقباله من خلال السيرفر ولكن احس في بطيء عند وجود اكثر من مستخدم او زبون لذالك اريد ان اطور المشروع لجعله يتواصل عن طريق برتوكول TCP اتوقع انه سيكون اسرع فحاليا انا قمت بتعريف متغير عبارة عن Datatabel اخزن فيها الكلام ثم بواسطة الاجاكس انادي على دالة تسترجع الكلام المخزن في الجدول حسب اسم الشخص الذي اتواصل معه ولكن اتوقع ان هذه الطريقة تسبب ضغط على السيرفر وسوف يصبح ابطيء عند كثرة الزبائن .

ماهو رأي الخبراء في هذا الامر ؟؟