رفتن به مطلب

ساخت برنامه اندروید برای سرور jabber


eghmaa

ارسال‌های توصیه شده

سلام 
خوب در این اموزش یاد میدم که چگونه به سرور jabber وصل بشویم برای اینکار به کتابخانه های زیر نیاز داریم:
Network
Random Accsess File
String Utils
این سه کتابخانه رو به پروژه اضافه میکنیم
و سپس سوکت رو در قسمت Process_Globals تعریف میکنیم:

Dim joon As Socket

حالا برای وصل شدن به سرور نیاز به AsyncStreams داریم که در Globals تعریف میکنیم:

Dim x As AsyncStreams

در قسمت Globals سه عدد edittext و دو عدد button برای ایدی و رمز و رسورس و login و logout تعریف میکنیم:

 Private username As EditText
    Private password As EditText
    Private resource As EditText
    Private login As Button
    Private logout As Button

حالا روی buttone لوگین این کد رو برای وصل شدن به سرور قرار بدین:

         joon.Initialize("joon")
                joon.Connect("o.nimbuzz.com",5222,5000)
                ToastMessageShow("connecting...",False)

joon_Connected رو تعریف میکنیم برای فرستادن xml به سرور برای وصل شدن به سرور:

Sub joon_Connected(Connected As Boolean)As Boolean 
 If Connected = True Then
      x.Initialize(joon.InputStream,joon.OutputStream,"x")
        If x.IsInitialized = False Then Return
        Dim buffer() As Byte
        buffer = "<stream:stream xmlns='jabber:client' to='nimbuzz.com' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' xml:lang='ar' >".GetBytes("UTF8")
        x.Write(buffer)
        Dim buffer1() As Byte        
        Dim stf As String = Chr(0) & username.Text& Chr(0) & password.Text
        Dim stU As StringUtils
        Dim str As String = stU.EncodeBase64(stf.GetBytes("UTF8"))
        Dim str1 As String = "<auth id='sasl2' xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='PLAIN'>" & str & "</auth>"
        buffer1 = str1.GetBytes("UTF8")
        x.Write(buffer1)
   Else
      ToastMessageShow("please check internet connection.",True)
   End If
End Sub

حالا برای اینکه بفهمیم به سرور وصل شده یا نه نیاز به تعریف Server_NewConnection داریم که در بالا تعریف کردیمش.
اینجا میایم میگیم که اگر از سرور Successful گرفتیم بگیم که کانکت شده:

Sub Server_NewConnection (Successful As Boolean, NewSocket As Socket)
    If Successful Then
        ToastMessageShow("Connected", False)
        StartService(pm)
        joon = NewSocket
        x.InitializePrefix(joon.InputStream, False, joon.OutputStream, "x")
    Else
        ToastMessageShow(LastException.Message, True)
    End If
End Sub

حالا برای کامل شدن و انلاین شدن به سرور نیاز به این داریم که چندتا xml به سرور ارسال کنیم:

Sub x_NewData (Buffer() As Byte)
    Dim msg As String
    msg = BytesToString(Buffer, 0, Buffer.Length, "UTF8")
    msg = msg.Replace("""","'")
    Dim k() As String = Regex.Split("<",msg)
    If msg.Contains("<success xmlns='urn:ietf:params:xml:ns:xmpp-sasl'/>")  Then
        Dim buffers() As Byte
        buffers = "<stream:stream xmlns='jabber:client' to='nimbuzz.com' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' xml:lang='ar' >".GetBytes("UTF8")
        x.Write(buffers)
        Dim buffers1() As Byte
        Dim stt As String = "<iq type='set'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><resource>"&resource.Text&"</resource></bind></iq>"
        buffers1= stt.GetBytes("UTF8")
        x.Write(buffers1)
        Dim buffers2() As Byte
        buffers2= "<iq id='jcl_2' type='set'><session xmlns='urn:ietf:params:xml:ns:xmpp-session'/></iq>".GetBytes("UTF8")
        x.Write(buffers2)
    Else If msg.Contains("<bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'>") Then
            Dim buffers3() As Byte
            buffers3= "<iq type='get' id='aab9a'><query xmlns='jabber:iq:roster'/></iq>".GetBytes("UTF8")
            x.Write(buffers3)
            Dim buffers4() As Byte
            buffers4= "<presence><show></show></presence>".GetBytes("UTF8")
            x.Write(buffers4)
    Else If msg.Contains("<not-authorized/>") Then
        x.Close
        joon.Close
        ToastMessageShow("Wrong Password Or Username",False)
    End If
End Sub
Sub AStreams_Error

خوب الان به سرور وصل شدیم.
حالا برای قطع کردنه اتصال کد زیر رو در buttone login قرار بدین:

        x.Close
        joon.Close

خوب حالا می خوام بگم چطور با یک نفر چت کنیم مثلا میایم 1 pv bot مینویسیم. میخوایم وقتی طرف زد help متنه ما رو بهش بده
خوب واسه اینکار باید در قسمت new data که قبلا گفتم 1 if اضافه کنیم برای اینکار
خوب اینم کد ها .هر خط جلوش آموزش فینگلیشش هست:

 If msg.Contains("<message") Then'migim age to xml eee ke get kard <message bod in amaliat ro rosh anjam bede
        Dim msge As String = msg 'migim msge barabar ba xml daryaf shode beshe
        msge = msge.SubString(msge.IndexOf("<body>")+6)' miaym  migim az jayi k from neveshte 6ta harf boro jolo ta be </ beresi
        msge = msge.SubString2(0,msge.IndexOf("</")-0)
        Dim jid As String = msg
        jid = jid.SubString(jid.IndexOf("from='")+6)' inja ham eyne balaaaa
        jid = jid.SubString2(0,jid.IndexOf("@")-0)
        'khob alan msge mosavie ba pm'e hast ke be bot dadan va jid mosavie ba id kasi ke pm dade
        'hala miaym ye if dige mizarim baraye sharti kardan
        If msge = "help" Then' migim age pm'e taraf mosavie ba help bod in karo anjam bede
            Dim buffer1() As Byte
            Dim str1 As String = "<message  to='"&jid&"@nimbuzz.com' id='joon'  ><subject>iranuzz</subject><body>matne  help</body></message>" 'xml send pm
            buffer1 = str1.GetBytes("UTF8")
            x.Write(buffer1)' ersal pm be taraf
        End If
    End If 

کتابخونه های مورد نیاز پیوست شد.

Libraries.rar

سورس پیوست شد.

nim.rar

موفق باشید.  :cheshmak: 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

خیلی هم عالی ، باریکلا :tashvigh:

سورسش هم پیوست کنید اگه دوست داشتید!

لینک ارسال
به اشتراک گذاری در سایت های دیگر

يه دنیا ممنون دوست عزیز خیلی سالاری من همه مراحل رو طبق آموزش رفتم ولی این کد های xml رو چطور بلد شدید ؟؟؟؟؟؟

 

 

 

http://s6.picofile.com/file/8195785276/msg_connect_jabber_server.zip.html

 

 

 

اینم سورس مشکل از کجاست ؟؟؟؟؟

 

 

 

با تشکر !!!!!

لینک ارسال
به اشتراک گذاری در سایت های دیگر

يه دنیا ممنون دوست عزیز خیلی سالاری من همه مراحل رو طبق آموزش رفتم ولی این کد های xml رو چطور بلد شدید ؟؟؟؟؟؟

 

 

 

http://s6.picofile.com/file/8195785276/msg_connect_jabber_server.zip.html

 

 

 

اینم سورس مشکل از کجاست ؟؟؟؟؟

 

 

 

با تشکر !!!!!

این آموزش برای متصل شدن به سرور نیمباز هست و بگم که کدهای ایکس ام ال هم نیاز نیست خودشون بنویسین .

هرچند نمیخوایم این انجمن رو به بحث نیمباز بکشونیم به دلایلی ...

و این آموزش هم برای اطلاعات کاربرا در رابطه با وصل شدن به جابر از اندروید لازم بود.

مشکل شما کجاست؟؟ برای وصل شدن باید ایدی نیمباز داشته باشید تا کانکت بشید.

-------------------------------------------------

و اینم اضافه کنم مثل اینکه آموزش شما ناقصه ، چون شما گفتید یه جا که اکتیویتی PM رو استارت کنه.

اما اکیتیویتی ای اینجا نداریم.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

این آموزش برای متصل شدن به سرور نیمباز هست و بگم که کدهای ایکس ام ال هم نیاز نیست خودشون بنویسین .

هرچند نمیخوایم این انجمن رو به بحث نیمباز بکشونیم به دلایلی ...

و این آموزش هم برای اطلاعات کاربرا در رابطه با وصل شدن به جابر از اندروید لازم بود.

مشکل شما کجاست؟؟ برای وصل شدن باید ایدی نیمباز داشته باشید تا کانکت بشید.

-------------------------------------------------

و اینم اضافه کنم مثل اینکه آموزش شما ناقصه ، چون شما گفتید یه جا که اکتیویتی PM رو استارت کنه.

اما اکیتیویتی ای اینجا نداریم.

 

 

دارم آیدی رو ولی ببینید سورسو رو اصلن ران نمیشه میشه سورس رو اصلاح کنید و قرار بدید ؟؟؟؟؟؟؟؟؟؟؟؟/

لینک ارسال
به اشتراک گذاری در سایت های دیگر

این آموزش برای آشنایی کلی با روش اتصال ب جابر بود.. ولی  روش بهتر اینه که از سرویس استفاده کنیم تا موقع بیرن رفتن از برنامه اتصال قطع نشه..تو سورسی که پیوست کردم از سرویس استفاده شده و امکانات بیشتری هم داره. 

nim.rar

لینک ارسال
به اشتراک گذاری در سایت های دیگر

برای من نمیدونم چرا سورس پیوست شده دانلود نمیشه لطفا تو پیکوفایل آپلود میکنید؟ ممنون

لینک ارسال
به اشتراک گذاری در سایت های دیگر

برای من نمیدونم چرا سورس پیوست شده دانلود نمیشه لطفا تو پیکوفایل آپلود میکنید؟ ممنون

http://s6.picofile.com/file/8195807892/nim_fullbot.rar.html

لینک ارسال
به اشتراک گذاری در سایت های دیگر

این آموزش برای آشنایی کلی با روش اتصال ب جابر بود.. ولی  روش بهتر اینه که از سرویس استفاده کنیم تا موقع بیرن رفتن از برنامه اتصال قطع نشه..تو سورسی که پیوست کردم از سرویس استفاده شده و امکانات بیشتری هم داره. 

attachicon.gifnim.rar

خیلی ممنون ولی این سورس فول بوته میشه سورس قرار بدید که لاگین شه و بشه ادد کرد و چت خصوصی همین میشه اینو قرار بدید؟؟؟؟؟؟؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

برادر این سورس مورد نظر شما در فروشگاه موجود بود

به مدیریت پ خ بزنید سورس رو دوباره تو فروشگاه میذارن

لینک ارسال
به اشتراک گذاری در سایت های دیگر

خیلی ممنون ولی این سورس فول بوته میشه سورس قرار بدید که لاگین شه و بشه ادد کرد و چت خصوصی همین میشه اینو قرار بدید؟؟؟؟؟؟؟

 

آمورش ارسال pm به پست اول اضافه شد!

لینک ارسال
به اشتراک گذاری در سایت های دیگر

برادر این سورس مورد نظر شما در فروشگاه موجود بود

به مدیریت پ خ بزنید سورس رو دوباره تو فروشگاه میذارن

 

 

به مهدی بگم ؟؟؟؟؟؟؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

آمورش ارسال pm به پست اول اضافه شد!

 

میشه سورس رو قرار بدید که بشه وقتی اول باز شد یه ایدی و پسورد و رسورس بخاد بعدش بیاد مخاطبین رو لود کنه بعد از اجرا و و پیام بشه بهشون فرستاد و بشه ادد کرد و ادد قبول کرد همینننننن میشه اینو لطف کنید قرار بدید ؟؟؟؟؟؟؟؟؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

تشکر ویژه بابت آموزش :ok:

 

یاد MehdiComponnent افتادم. 2Mehdi :bye:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

میشه سورس رو قرار بدید که بشه وقتی اول باز شد یه ایدی و پسورد و رسورس بخاد بعدش بیاد مخاطبین رو لود کنه بعد از اجرا و و پیام بشه بهشون فرستاد و بشه ادد کرد و ادد قبول کرد همینننننن میشه اینو لطف کنید قرار بدید ؟؟؟؟؟؟؟؟؟

 

دااداش منتظریم هاااااااااااااااا  :chap chap:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 4 هفته بعد...

مهدی جان MehdiComponnent چیه دیگه ؟؟؟؟؟؟؟؟؟؟؟؟؟؟

کامپوننت کاملی از XML  های مربوط به سرور نیمباز که اقای ایزدی با اقای بصیرت ساخته بودن.

 

 

 

دااداش منتظریم هاااااااااااااااا  :chap chap:

 

صبور باشید تا دوستان واستون انجم بدن.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...