رفتن به مطلب
  • 0

اتصال به سرور Jabber


mohammad_2015

سوال

درود

همونطور که از عنوان مشخص هست برای اتصال به سرور jabber که بسیار کاربردی هم هست به مشکل خوردم. در واقع ماه هاست به مشکل خوردم و هرچی سرچ گردم چیزی دست گیرم نشد.

یه سروی سورس موجود هست ک دوستان قبلا زحمت کشیدن و قرار دادن اما به سرورهای جدید مثل jabber.hot-chilli.net متصل نمیشه ، سورس های قرار داده شده مشکلی ندارن و به سرورهای قدیمی که نمیتونم اسم ببرم متصل میشد همچنین به سرور jabber.ru وصل میشد که متاسفانه اون سرور دیگه سرویس نمیده ،  اما چند سالی هست ک کللی سرور اضاف شده ک متاسفانه سورس ها متصل نمیشه ، بنظر کدها نیاز ب کمی ویرایش داره اما ماه هاست دارم تلاش میکنم و سودی نداشت

کدهای xml رو بررسی کردم از طریق اپلیکیشن bombusmod اندروید و نرم افزارهایی مثل gajim یا pandion که به راحتی به سرورها وصل میشن و حتی کدهای xml رد و بدل شده رو هم گرفتم اما بعد از یکی دو xml پروسه متوقف میشه . خطایی هم رخ نمیده که متوجه بشم ایراد از کجاست. فقط یجورایی مطمئنم یه نکته ریزی داره ک مشکل حل بشه. لطفا اگر کسی به این موضوع تسلط داره کمک بکنه

در حال حاضر مشکل من اتصال به سرور jabber.hot-chilli.net هست . بتونم کانکت بشم باقی کارهاش راحته ، فقط کد اتصال میخوام

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

15 پاسخ به این سوال تاکنون داده شده است

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

در 22 دقیقه قبل، mohammad_2015 گفته است :

مرسی از شما ، این کدهایی که دریافت کردین به معنی اتصال موفقیت آمیزه !!! خیلی عجیبه وقتی که کدی که گفتین server.InitializeSSLAcceptAll("server") قرار دادم خطای نات کانکت میده ، یعنی اصلا ب سرور وصل نمیشه و به مرحله ی کدهایی که بهشون مشکوک بودم نمیرسه

الان بیشتر گمراه شدم چون مثل اینکه کدها درست و کاملن ، با چند گوشی تست کردم و همچنین با نت همراه و وای فای ، همچنین با قندشکن و بدون قندشکن، الان دیگه اصلا نمیدونم رو کدوم قسمت زوم کنم که عیب رو پیدا کنم :unknown:

دوست عزیز دقت داشته باشین که پورت روی 5223 تنظیم شده نه 5222

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

کسی نیست بتونه مشکلمو حل بکنه ؟ :scratch_one-s_head: واقعا کلافه م کرده !!

مطمئنم خیلی ساده میشه کانکت شد چون کدهای xml که تو اپلیکیشن ها دیگه استخراج کردم دقیقا مثل سورس هایی هست که توی سایت هم موجوده ، اما یه نکته ریزی داره که متاسفانه با کدهایی ک پیوست کردم لاگین نمیشه

برای راحتی مشاورین سایت ، نام کاربری و رمز هم تو کامت قبلی گذاشتم ممنون میشم اگر کسی بلد باشه به دادم برسه

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

در 18 ساعت قبل، mohammad_2015 گفته است :

کسی نیست بتونه مشکلمو حل بکنه ؟ :scratch_one-s_head: واقعا کلافه م کرده 

عزیز کد که میزارید سعی کنید کامل قرار بدید. الان نوع متغیرهاتون مشخص نیست اصلا. در صورت امکان یه سورس ساده همراه با کتابخونه های استفاده شده قرار بدین که بشه تست کرد. چون این موضوع موضوع خاصی هست و هر کسی استفاده نکرده

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

در 8 ساعت قبل، محمدرضا شاهپیری گفته است :

عزیز کد که میزارید سعی کنید کامل قرار بدید. الان نوع متغیرهاتون مشخص نیست اصلا. در صورت امکان یه سورس ساده همراه با کتابخونه های استفاده شده قرار بدین که بشه تست کرد. چون این موضوع موضوع خاصی هست و هر کسی استفاده نکرده

سورس رو قراردادم به همراه یک فایل داخل پوشه پروژه به اسم xml که حاوی تمام کدهای رد و بدل شده حین کانکت شدن ، که از یه برنامه تحت ویندوز که به سرور وصل شده ، میتونه کمکتون کنه راحتر به مشکل پی ببرین

 

http://s16.picofile.com/file/8410971234/ConnectToJabber.zip.html

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

در 43 دقیقه قبل، mohammad_2015 گفته است :

درود

همونطور که از عنوان مشخص هست برای اتصال به سرور jabber که بسیار کاربردی هم هست به مشکل خوردم. در واقع ماه هاست به مشکل خوردم و هرچی سرچ گردم چیزی دست گیرم نشد.

یه سروی سورس موجود هست ک دوستان قبلا زحمت کشیدن و قرار دادن اما به سرورهای جدید مثل jabber.hot-chilli.net متصل نمیشه ، سورس های قرار داده شده مشکلی ندارن و به سرورهای قدیمی که نمیتونم اسم ببرم متصل میشد همچنین به سرور jabber.ru وصل میشد که متاسفانه اون سرور دیگه سرویس نمیده ،  اما چند سالی هست ک کللی سرور اضاف شده ک متاسفانه سورس ها متصل نمیشه ، بنظر کدها نیاز ب کمی ویرایش داره اما ماه هاست دارم تلاش میکنم و سودی نداشت

کدهای xml رو بررسی کردم از طریق اپلیکیشن bombusmod اندروید و نرم افزارهایی مثل gajim یا pandion که به راحتی به سرورها وصل میشن و حتی کدهای xml رد و بدل شده رو هم گرفتم اما بعد از یکی دو xml پروسه متوقف میشه . خطایی هم رخ نمیده که متوجه بشم ایراد از کجاست. فقط یجورایی مطمئنم یه نکته ریزی داره ک مشکل حل بشه. لطفا اگر کسی به این موضوع تسلط داره کمک بکنه

در حال حاضر مشکل من اتصال به سرور jabber.hot-chilli.net هست . بتونم کانکت بشم باقی کارهاش راحته ، فقط کد اتصال میخوام

سلام. کدهایی که در حال حاظر استفاده میکنید برای کانکت رو پیوست کنید.

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

در 36 دقیقه قبل، mohammad_2015 گفته است :

سورس رو قراردادم به همراه یک فایل داخل پوشه پروژه به اسم xml که حاوی تمام کدهای رد و بدل شده حین کانکت شدن ، که از یه برنامه تحت ویندوز که به سرور وصل شده ، میتونه کمکتون کنه راحتر به مشکل پی ببرین

http://s16.picofile.com/file/8410971234/ConnectToJabber.zip.html

من نحوه کار با این سرویس رو نمیدونم و متوجه نیستم که دیتاها به چه شکل ردو بدل میشه. اما چیزی که من متوجه شدم مشکل توی ارتباطه که باید متد Connect_Click رو به شکل زیر بنویسید. تست کنید ببینید چه تغییری حاصل میشه



Sub Connect_Click
	server.InitializeSSLAcceptAll("server")
	server.Connect("jabber.hot-chilli.net",5223 ,5000)
End Sub

 

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

در 1 ساعت قبل، محمدرضا شاهپیری گفته است :

من نحوه کار با این سرویس رو نمیدونم و متوجه نیستم که دیتاها به چه شکل ردو بدل میشه. اما چیزی که من متوجه شدم مشکل توی ارتباطه که باید متد Connect_Click رو به شکل زیر بنویسید. تست کنید ببینید چه تغییری حاصل میشه




Sub Connect_Click
	server.InitializeSSLAcceptAll("server")
	server.Connect("jabber.hot-chilli.net",5223 ,5000)
End Sub

 

تست کردم ، تو قسمت server_Connected(Connected As Boolean) که شرط گذاشتیم اگر سوکت وصل نشده پیغام عدم دسترسی به اینترنت گذاشتم نمایان شد. در صورتی که با کد قبلی به سرور وصل میشد و دوتا xml هم رد و بدل میشد 

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

در 1 ساعت قبل، mohammad_2015 گفته است :

تست کردم ، تو قسمت server_Connected(Connected As Boolean) که شرط گذاشتیم اگر سوکت وصل نشده پیغام عدم دسترسی به اینترنت گذاشتم نمایان شد. در صورتی که با کد قبلی به سرور وصل میشد و دوتا xml هم رد و بدل میشد 

من تست کردم مشکلی نداشت و پیغامها ارسال میشه

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

در 13 دقیقه قبل، محمدرضا شاهپیری گفته است :

من تست کردم مشکلی نداشت و پیغامها ارسال میشه

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

یه دستور دیگه هم هست server.InitializeSSL("server" , Keystorestream, "password") چیزی که من متوجه شدم ایراد از سرتیفیکیت کانکشن هست ، که خود سرور تو سایتش زده TLS requeired اما نمیدونم چجوری اعمالش کنم

تعجب میکنم برای شما مشکلی نداشته !! یعنی پیغام coneccted succesfully هم ظاهر شد ؟

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

همچنین این خطایی که خود سرور به سوکت میفرسته 

<failure xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><encryption-required/></failure>

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

این پروژه رو با کمی تغییرات اومدم طبق روالی که سایت xmpp توضیح داده نوشتم. لینکشم گذاشتم. همچنین سورس این روش

https://xmpp.org/extensions/xep-0178.html

از مشکل <failure xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><encryption-required/></failure>  که پست قبلی اشاره کردم گذر کردم. اما بعدش پروسه ادامه پیدا نکرد. یعنی باید طبق توضیحات لینک بالایی ؛ کد xml قسمت example7 و example8  برام بیاد . اما نمیاد که روند رو ادامه بدم

بازم یادآور میشم تمام کدهای xml رد و بدل شده تا اتصال موفقیت آمیز تو پوشه پروژه قرار دادم.

لینک سورس دوم

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

در 16 دقیقه قبل، mohammad_2015 گفته است :

 

عزیز خروجی کد زیر وقتی رو دکمه connect کلیک میکنم


Sub Connect_Click
	server.InitializeSSLAcceptAll("server")
	server.Connect("jabber.hot-chilli.net",5223 ,5000)
End Sub

این هست. حالا من نمیدونم دقیقا معنیش چیه. شما این رو بررسی کنید ببینید که معنیش چیه

<?xml version='1.0'?><stream:stream from='jabber.hot-chilli.net' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client' id='31b2a6af-b396-40cd-99e7-b0eea3176128' xml:lang='en'><stream:features><auth xmlns='http://jabber.org/features/iq-auth'/><register xmlns='http://jabber.org/features/iq-register'/><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>SCRAM-SHA-1-PLUS</mechanism><mechanism>PLAIN</mechanism><mechanism>SCRAM-SHA-1</mechanism></mechanisms></stream:features>
<success xmlns='urn:ietf:params:xml:ns:xmpp-sasl'/>
<?xml version='1.0'?><stream:stream from='jabber.hot-chilli.net' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client' id='9c2bd310-2cfe-42f8-93eb-d78949e15e2d' xml:lang='en'><stream:features><csi xmlns='urn:xmpp:csi:0'/><ver xmlns='urn:xmpp:features:rosterver'/><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><required/></bind><session xmlns='urn:ietf:params:xml:ns:xmpp-session'><optional/></session><sm xmlns='urn:xmpp:sm:2'><optional/></sm><sm xmlns='urn:xmpp:sm:3'><optional/></sm><c hash='sha-1' node='http://prosody.im' ver='El6uWA/34mp8SoqB+68n2PxvV2w=' xmlns='http://jabber.org/protocol/caps'/></stream:features>
<iq type='result'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><jid>[email protected]/basic4android</jid></bind></iq><iq type='result' to='[email protected]/basic4android' id='jcl_2'/>
<iq type='result' to='[email protected]/basic4android' id='aab9a'><query ver='1' xmlns='jabber:iq:roster'/></iq>
<presence from='[email protected]/basic4android'><show/><x xmlns='vcard-temp:x:update'><photo/></x></presence>
<iq type='result' to='[email protected]/basic4android' id='aab9a'><query ver='1' xmlns='jabber:iq:roster'/></iq>
<presence from='[email protected]/basic4android'><show/><x xmlns='vcard-temp:x:update'><photo/></x></presence>

 

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

در ۱ ساعت قبل، محمدرضا شاهپیری گفته است :

عزیز خروجی کد زیر وقتی رو دکمه connect کلیک میکنم



Sub Connect_Click
	server.InitializeSSLAcceptAll("server")
	server.Connect("jabber.hot-chilli.net",5223 ,5000)
End Sub

این هست. حالا من نمیدونم دقیقا معنیش چیه. شما این رو بررسی کنید ببینید که معنیش چیه


<?xml version='1.0'?><stream:stream from='jabber.hot-chilli.net' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client' id='31b2a6af-b396-40cd-99e7-b0eea3176128' xml:lang='en'><stream:features><auth xmlns='http://jabber.org/features/iq-auth'/><register xmlns='http://jabber.org/features/iq-register'/><mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'><mechanism>SCRAM-SHA-1-PLUS</mechanism><mechanism>PLAIN</mechanism><mechanism>SCRAM-SHA-1</mechanism></mechanisms></stream:features>
<success xmlns='urn:ietf:params:xml:ns:xmpp-sasl'/>
<?xml version='1.0'?><stream:stream from='jabber.hot-chilli.net' version='1.0' xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client' id='9c2bd310-2cfe-42f8-93eb-d78949e15e2d' xml:lang='en'><stream:features><csi xmlns='urn:xmpp:csi:0'/><ver xmlns='urn:xmpp:features:rosterver'/><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><required/></bind><session xmlns='urn:ietf:params:xml:ns:xmpp-session'><optional/></session><sm xmlns='urn:xmpp:sm:2'><optional/></sm><sm xmlns='urn:xmpp:sm:3'><optional/></sm><c hash='sha-1' node='http://prosody.im' ver='El6uWA/34mp8SoqB+68n2PxvV2w=' xmlns='http://jabber.org/protocol/caps'/></stream:features>
<iq type='result'><bind xmlns='urn:ietf:params:xml:ns:xmpp-bind'><jid>[email protected]/basic4android</jid></bind></iq><iq type='result' to='[email protected]/basic4android' id='jcl_2'/>
<iq type='result' to='[email protected]/basic4android' id='aab9a'><query ver='1' xmlns='jabber:iq:roster'/></iq>
<presence from='[email protected]/basic4android'><show/><x xmlns='vcard-temp:x:update'><photo/></x></presence>
<iq type='result' to='[email protected]/basic4android' id='aab9a'><query ver='1' xmlns='jabber:iq:roster'/></iq>
<presence from='[email protected]/basic4android'><show/><x xmlns='vcard-temp:x:update'><photo/></x></presence>

 

مرسی از شما ، این کدهایی که دریافت کردین به معنی اتصال موفقیت آمیزه !!! خیلی عجیبه وقتی که کدی که گفتین server.InitializeSSLAcceptAll("server") قرار دادم خطای نات کانکت میده ، یعنی اصلا ب سرور وصل نمیشه و به مرحله ی کدهایی که بهشون مشکوک بودم نمیرسه

الان بیشتر گمراه شدم چون مثل اینکه کدها درست و کاملن ، با چند گوشی تست کردم و همچنین با نت همراه و وای فای ، همچنین با قندشکن و بدون قندشکن، الان دیگه اصلا نمیدونم رو کدوم قسمت زوم کنم که عیب رو پیدا کنم :unknown:

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

در 4 ساعت قبل، محمدرضا شاهپیری گفته است :

دوست عزیز دقت داشته باشین که پورت روی 5223 تنظیم شده نه 5222

دست گلت درد نکنه مشکل چند ماهم حل شد ♥

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

در 21 ساعت قبل، محمدرضا شاهپیری گفته است :

سلام. کدهایی که در حال حاظر استفاده میکنید برای کانکت رو پیوست کنید.

Sub Connect_Click
	server.Initialize("server")
	server.Connect("jabber.hot-chilli.net",5222 ,5000)
End Sub


Sub server_Connected(Connected As Boolean)As Boolean
	If Connected = True Then
		x.Initialize(server.InputStream,server.OutputStream,"x")
		If x.IsInitialized = False Then Return
		Dim buffer() As Byte
		buffer =( "<stream:stream xmlns='jabber:client' to='jabber.hot-chilli.net' 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) & "test" & Chr(0) & "test"
		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



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


Sub x_NewData (Buffer() As Byte)
	Try
		Dim xml As String
		xml = BytesToString(Buffer, 0, Buffer.Length, "UTF8")
		xml = xml.Replace("""","'")
		
		If xml.Contains("<success xmlns='urn:ietf:params:xml:ns:xmpp-sasl'/>")  Then
			Dim buffers() As Byte
			buffers = ("<stream:stream xmlns='jabber:client' to='jabber.hot-chilli.net' 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>basic4android</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 xml.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 xml.Contains("<not-authorized/>") Then
			x.Close
			server.Close
			ToastMessageShow("Wrong Password Or Username",False)
		
		Else If xml.Contains("<presence from='[email protected]/basic4android' to='[email protected]/basic4android' xml:lang='ar'><show/><x xmlns='vcard-temp:x:update'><photo/></x></presence>") Then
			ToastMessageShow("Connect Successful",False)
					
		End If
			
		
	Catch		
		Log(LastException)
	End Try

		
	

    
End Sub

ضمنا همونطور که در کدها مشخصه نام کاربری و رمز test هست که براحتی با تمام اپلیکیشن ها کانکت میشه ، همچنین با لایبرری xmpp هم کانکت شد اما چون کتابخونه خریداری نشده اکثر امکاناتش غیر فعال بود

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

بایگانی شده

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

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

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