سؤال

cl = xmpp.Client('myserver.com')
if not cl.connect(server=('mysefver.com',5223)):
    raise IOError('cannot connect to server')
cl.RegisterHandler('message',messageHandler)
cl.auth('myemail@myserver.com', 'mypassword', 'statusbot')
cl.sendInitPresence()

msgtext = formatToDo(cal, 'text')
message = xmpp.Message('anotheremail@myserver.com',  msgtext) 
message.setAttr('type', 'chat')
cl.send(message)

أحصل على رسالة الخطأ التالية عندما أحاول تشغيلها:

xmpp.protocol.InvalidFrom: (u'invalid-from', '')

لماذا يحدث هذا :(

هل كانت مفيدة؟

المحلول

من بروتوكول XMPP تخصيص:

إذا كانت قيمة العنوان "من" لا يطابق اسم المضيف الذي يمثله خادم الاستقبال عند فتح اتصال TCP (أو أي مجال تم التحقق من صحته، مثل المجال الفرعي المستأصل من اسم مضيف خادم الاستقبال أو مجال التحقق من صحة آخر يستضيفه خادم الاستقبال )، ثم يجب أن يولد الخادم الموثوق حالة خطأ دفق وإنهاء كل من دفق XML واتصال TCP الأساسي.

والتي تعني أساسا، أنه إذا لم يتم التعرف على المرسل من قبل خادم XMPP، فسيقوم بالرد بهذه الرسالة. تزود XMPP آلية التسجيل: XMPP.Features.register.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top