1. برای کسب اطلاعات بیشتر در ساعات 9 الی 13 و 16 الی 18 با شماره 08138270182 یا 09353637799 تماس حاصل فرمایید.
    آدرس ایمیل: info@wsnlab.ir
    آدرس کانال تلگرام http://telegram.me/gloriot
  2. بدین وسیله به اطلاع پژوهشگران محترم می رسانیم که آزمایشگاه اینترنت اشیاء ایران راه اندازی شد. از این پس می توانید با شماره تلفن همراه 09353637799 با لابراتوار در تماس باشید.

اضافه کردن ماژول جدید به پروتکل مسیریابی

شروع موضوع توسط mohebbi 1/1/14 در انجمن انجمن شبکه های موردی - ادهاک

تلفن سفارش: 08138311237 تلفن سفارش: 08138311237
  1. mohebbi کاربر تازه وارد

    تاریخ عضویت:
    27/1/13
    تعداد ارسال ها:
    12
    تشکر شده:
    18
    امتیاز دستاورد:
    3
    درود بر دوستان
    آیا کسی می دونه چطوری میشه یه ماژول رو به پروتکل مسیریابی اضافه کرد و از توابع آن استفاده کرد؟
    :confused:
    لطفاً انجمن را به دوستان خود معرفی نمایید تا محیطی پویا تر داشته باشیم.
  2. مشاوره، آموزش و پیاده سازی پروژه های شبکه های موردی، شبکه حسگر بی سیم و انواع شبکه های کامپیوتری . برای کسب اطلاعات بیشتر با شماره 08138270182 تماس بگیرید. .
  3. mohebbi کاربر تازه وارد

    تاریخ عضویت:
    27/1/13
    تعداد ارسال ها:
    12
    تشکر شده:
    18
    امتیاز دستاورد:
    3
    راه حلی که بهش رسیدم رو به صورت زیر شرح میدم :
    1- اگر که بخوایید به صورت یه ماژول مجزا و دارای Agent اضافه کنید به صورت زیر عمل می کنیم :
    1-1 ماژولی که اضافه می کنیم باید حتما دارای فایل header باشد . در فایل header کدهای زیر رو اضافه می کنیم :
    #include <agent.h>
    class Test: class Agent {
    ....
    int command (int argc,const char*const* argv);
    ....
    }
    1-2 کدهای زیر را به فایل .cc اضافه می کنیم :
    static class TestClass:public TclClass{
    public :
    TestClass() : TclClass("Agent/Module Name"){}
    TclObject* create(int , const char*const*){
    return (new Test());
    }
    }
    class test;


    Test::Test() : Agent(PT_UDP){
    bind(variables defined in protected part);
    }


    int Test::command(int argc,const char*const* argv){
    if(argc==2){
    if(strcmp(argv[1],"variable")==0){
    result = variable();
    return (TCL_OK):
    }
    }
    return 0 ;
    }
    1-3 به فایل ns-default.tcl در مسیر ~/ns-allinone-2.34/ns-2.34/tcl/lib متغیرهای bind شده را به صورت زیر اضافه می کنیم :
    Agent/Test set variables 0.0
    1-4 در فایل Makefile.in کد مربوط به object ماژول را در قسمت include اضافه می کنیم :
    -I./test \
    1-5 در قسمت OBJ_STL در فایل Makefile.in کد زیر را اضافه می کنیم.
    test/test.o \
    2- اگر بخواهیم کلاسی به یکی از پروتکلها اضافه کنیم فقط کافی است مراحل 1-3 تا 1-5 را انجام دهید.
    در پایان دستورات زیر را در مسیر /ns-allinone2.34/ns-2.34 وارد کنید تا فایلها از نو کامپایل شوند.
    ./configure
    make clean
    make
    make install
    sepide likes this.
    لطفاً انجمن را به دوستان خود معرفی نمایید تا محیطی پویا تر داشته باشیم.

به اشتراک بگذارید