Websockify: مشكلة في novnc-websockify على Windows

تم إنشاؤها على ١٧ فبراير ٢٠١٣  ·  26تعليقات  ·  مصدر: novnc/websockify

1- قمت بتنزيل https://github.com/downloads/kanaka/websockify/Websockify٪20Windows٪20Service.zip

2- قمت بفك ضغط المجلد في C: \ Websockify Windows Service

3- أقوم بتنزيل https://github.com/downloads/kanaka/websockify/websockify.zip

وفك ضغط ونسخ محتوياته إلى C: \ Websockify Windows Service

4- أقوم بتنزيل novnc من https://github.com/kanaka/noVNC

5- أقوم بفك ضغطه في C: \ Users \ waldman \ Downloads \ noVNC-master \ noVNC-master

6- قمت بتشغيل الأمر

C: \ Websockify Windows Service> websockify.exe --web "C: \ Users \ waldman \ Downloads \ noVNC-master \ noVNC-master" 6080 localhost
: 5901

السجل هو:

تحذير: لا توجد وحدة "موارد" ، تعطيل دعم الدعم
إعدادات خادم WebSocket:

  • استمع على: 6080
  • خادم سياسة أمان فلاش
  • قاعدة بيانات للانترنت. جذر الويب: C: \ Users \ waldman \ Downloads \ noVNC-master \ noVNC-master
  • لا يوجد دعم SSL / TLS (لا يوجد ملف شهادة)
  • وكيل من: 6080 إلى المضيف المحلي: 5901

في متصفحي أنا ذاهب إلى

http: // localhost : 6080 / vnc_auto.html؟ host = localhost & port = 6080 & true_color = 1

حاولت أيضا مع

http: // localhost : 6080 / vnc_auto.html؟ host = localhost & port = 5901 & true_color = 1

يتم قطع الاتصال بالخادم -> لماذا؟ ؟ ؟

الخادم على ما يرام كما لو كنت أحاول استخدامه

http://kanaka.github.com/noVNC/noVNC/vnc_auto.html؟host=localhost&port=5901&true_color=1

يمكنني تسجيل الدخول إلى الخادم الخاص بي دون أي مشكلة

لذا فإن سؤالي هو ما هو المفقود حتى أتمكن من استخدام خدمة novnc الخاصة بي وليس استخدام " http://kanaka.github.com/noVNC/noVNC/vnc_auto.html "

أريد الحصول على nonvc الخاص بي وعدم استخدام "kanaka.github.com" خارجي

شكرا للمساعدة

راجع نفس المشكلة حدث في كل من windows و linux (أفضل حل windows)

السجل

2: 127.0.0.1: تجاهل المقبس غير جاهز
3: 127.0.0.1: تجاهل المصافحة الفارغة
4: 127.0.0.1: "GET /auto.vnc.html؟host=localhost&port=6080&true_color=1 HTTP / 1.1" 404 -
5: 127.0.0.1: تجاهل المقبس غير جاهز
6: 127.0.0.1: "GET /auto-vnc.html؟host=localhost&port=6080&true_color=1 HTTP / 1.1" 404 -
9: 127.0.0.1: تجاهل المقبس غير جاهز
10: 127.0.0.1: تجاهل المصافحة الفارغة
12: 127.0.0.1: تجاهل المقبس غير جاهز
13: 127.0.0.1: تجاهل المصافحة الفارغة
14: 127.0.0.1: تجاهل المصافحة الفارغة
15: 127.0.0.1: تجاهل المصافحة الفارغة
16: 127.0.0.1: تجاهل المصافحة الفارغة
17: 127.0.0.1: تجاهل المصافحة الفارغة
18: 127.0.0.1: تجاهل المصافحة الفارغة
19: 127.0.0.1: تجاهل المصافحة الفارغة
20: 127.0.0.1: تجاهل المصافحة الفارغة
21: 127.0.0.1: تجاهل المصافحة الفارغة
22: 127.0.0.1: تجاهل المصافحة الفارغة
23: 127.0.0.1: تجاهل المصافحة الفارغة
24: 127.0.0.1: تجاهل المصافحة الفارغة
25: 127.0.0.1: تجاهل المصافحة الفارغة
26: 127.0.0.1: تجاهل المصافحة الفارغة
27: 127.0.0.1: تجاهل المصافحة الفارغة
28: 127.0.0.1: تجاهل المصافحة الفارغة
29: 127.0.0.1: تجاهل المصافحة الفارغة
30: 127.0.0.1: تجاهل المصافحة الفارغة
31: 127.0.0.1: تجاهل المصافحة الفارغة
33: 127.0.0.1: تجاهل المقبس غير جاهز
34: 127.0.0.1: تجاهل المصافحة الفارغة
35: 127.0.0.1: تجاهل المصافحة الفارغة
36: 127.0.0.1: تجاهل المصافحة الفارغة

Windows bug patchwelcome

التعليق الأكثر فائدة

sonicnkt : تمكنت من إنشاء ملف exe (من إصدار Node.js) حتى لا تحتاج إلى تثبيت Node.js والمكونات.
هذه هي الخطوات (لم أستخدم Node.js من قبل ، لذلك أنا متأكد تمامًا من وجود حل أقصر):

  1. تثبيت NodeJS (مسار التثبيت العمومي الافتراضي هو:٪ AppData٪ \ npm ،٪ AppData٪ \ npm-cache)

  2. قم بتثبيت المكونات المطلوبة ، قم بتشغيل:

    • تثبيت npm -g Express
    • npm install -g متفائل
    • تثبيت npm -g policyfile
    • تثبيت npm -g ws
    • npm تثبيت خادم http -g
    • تثبيت npm -g أنواع mime
    • npm تثبيت- g pkg
  3. أنشئ مجلدًا باسم "websockify" ضمن "٪ AppData٪ \ npm \ node_modules \" وانسخ محتويات المجلد "websockify \ other \ js" فيه.

  4. تشغيل (توثيق الوسائط -> https://www.npmjs.com/package/pkg): pkg "٪ AppData٪ \ npm \ node_modules \ websockify \ websockify.js" --targets "latest-win-x86، latest- win-x64 "- خارج المسار" مجلد الإخراج الخاص بك "

ال 26 كومينتر

doriwal ألاحظ أنك أغلقت القضية. هل هذا يعني أنك فهمت الأمر؟

لا انها قضية مفتوحة
في 2013 2 18 00:34 ، كتب "Joel Martin" [email protected] :

doriwal https://github.com/doriwal لاحظت أنك أغلقت المشكلة. هل
هذا يعني أنك فهمت الأمر؟

-
قم بالرد على هذه الرسالة الإلكترونية مباشرة أو tHubhttps: //github.com/kanaka/websockify/issues/67#issuecomment -13698686.

لقد أعدت فتح المشكلة حيث لم يتم حلها

يبدو أن novnc المحلي الخاص بي يعمل ،
لقد قمت بإجراء الاختبارات مثل http: // localhost : 6080 / tests / base64.html

والاستجابة

تفريغ
التمرير: 'window.btoa ("hello world")' عاد متوقعًا 'aGVsbG8gd29ybGQ ='
التمرير: 'window.btoa ("a")' أعاد توقع 'YQ =='
التمرير: 'window.btoa ("ab")' عاد متوقعًا 'YWI ='
تمرير: 'window.btoa ("abc")' أعاد توقع "YWJj"
PASS: 'window.btoa ("abcd")' عاد متوقعًا 'YWJjZA =='
التمرير: 'window.btoa ("abcde")' عاد متوقعًا 'YWJjZGU ='
التمرير: 'window.btoa ("abcdef") "أعاد توقع" YWJjZGVm "
التمرير: 'window.btoa ("abcdefg")' عاد متوقعًا 'YWJjZGVmZw =='
التمرير: 'window.btoa ("abcdefgh")' عاد متوقعًا 'YWJjZGVmZ2g ='
التمرير: 'window.atob ("aGVsbG8gd29ybGQ =")' عاد متوقعًا 'hello world'
التمرير: 'Base64_decode ("aGVsbG8gd29ybGQ =")' عاد متوقعًا 'hello world'
PASS: 'window.atob ("YQ ==")' عاد متوقعًا 'a'
التمرير: 'Base64_decode ("YQ ==")' عاد متوقعًا 'a'
التمرير: 'window.atob ("YWI =")' أعاد توقع "ab"
التمرير: 'Base64_decode ("YWI =") "أعاد توقع" ab "
التمرير: 'window.atob ("YWJj")' أعاد توقع 'abc'
التمرير: "Base64_decode (" YWJj ")" أعاد "abc" المتوقع
التمرير: 'window.atob ("YWJjZA ==")' عاد متوقعًا 'abcd'
التمرير: "Base64_decode (" YWJjZA == ")" عاد المتوقع "abcd"
التمرير: 'window.atob ("YWJjZGU =")' عاد المتوقع "abcde"
التمرير: "Base64_decode (" YWJjZGU = ")" عاد المتوقع "abcde"
التمرير: 'window.atob ("YWJjZGVm")' عاد متوقعًا 'abcdef'
التمرير: 'Base64_decode ("YWJjZGVm")' عاد المتوقع 'abcdef'
PASS: عادت "typeof window.btoa" المتوقع "الوظيفة"
التمرير: تم إرجاع 'window.btoa ("")' متوقعًا "
PASS: تم إرجاع 'window.btoa (خالية)' متوقعًا "
PASS: 'window.atob (window.btoa (window))' عاد متوقعًا '[Object Window]'
PASS: "window.btoa (" \ u0080 \ u0081 ")" عاد المتوقع "gIE ="
فشلت الاختبارات: 0
نجحت الاختبارات: 28

لذا أعتقد أنني قمت بتثبيت novnc محليًا ،

لا اعلم لماذا
http: // localhost : 6080 / vnc_auto.html؟ host = localhost & port = 5901 & true_color = 1
أو
http: // localhost : 6080 / vnc_auto.html؟ host = localhost & port = 6080 & true_color = 1

تم إرجاع "noVNC جاهز: WebSockets الأصلي ، عرض قماش" وبعد ثانيتين أحصل على "مهلة الاتصال"

كنت أواجه نفس المشكلة مع websockify.exe الذي يأتي مع noVNC.

لست متأكدًا مما إذا كانت نفس المشكلة ، ولكن عندما حاولت تشغيل ملف websocketproxy.py مباشرةً باستخدام Python 2.7 ، تلقيت هذا الخطأ:

WARNING: no 'resource' module, daemonizing is slower or disabled
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Python27\lib\multiprocessing\forking.py", line 374, in main
    self = load(from_parent)
  File "C:\Python27\lib\pickle.py", line 1378, in load
    return Unpickler(file).load()
  File "C:\Python27\lib\pickle.py", line 858, in load
    dispatch[key](self)
  File "C:\Python27\lib\pickle.py", line 1133, in load_reduce
    value = func(*args)
  File "C:\Python27\lib\multiprocessing\reduction.py", line 193, in rebuild_socket
    _sock = fromfd(fd, family, type_, proto)
  File "C:\Python27\lib\multiprocessing\reduction.py", line 182, in fromfd
    s = socket.fromfd(fd, family, type_, proto)
AttributeError: 'module' object has no attribute 'fromfd'

من الواضح أن هذا يرجع إلى أن socket.fromfd لم يتم تطبيقه على Python 2.x لنظام التشغيل Windows: http://bugs.python.org/issue1378.

عندما أحاول تشغيل websockify مع Python 3.3 ، تظهر لي رسالة خطأ مختلفة:

  1: handler exception: Cannot serialize socket object
WARNING: no 'resource' module, daemonizing is slower or disabled
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "C:\Python33\lib\multiprocessing\forking.py", line 344, in main
    self = load(from_parent)
EOFError

doriwal ، @ smithkl42 : هل ما زلت تواجه هذه المشكلة؟

تمكنت من تشغيل websockify على Windows إذا استخدمت Python 3.2. لا يبدو أن 2.7 و 3.3 لديهم الدعم اللازم لعمليات التزوير الزائف على Windows. لم أجربها مع أي إصدارات أخرى.

@ smithkl42 : يبدو أن Python تقطع المخللات ثم تفك العملية من أجل عمل شوكة ، وشيء ما في websockify لا يمكن اختياره. من الغريب أنه يعمل على 3.2 وليس 3.3. هل يمكنك الحصول على تتبع مكدس ممتد أكثر لـ Python 3.3؟ أعتقد أنه على الأقل يستحق محاولة إصلاح مشكلة Python 3.3+ إذا استطعنا.

أوافق على أن الأمر يستحق الإصلاح. أنا لست مبرمج Python ، لذلك لست متأكدًا من كيفية الحصول على تتبع مكدس أكثر تفصيلاً - هذا فقط ما يظهر على وحدة التحكم الخاصة بي عندما أحاول تشغيله تحت Python 3.3. أي اقتراحات؟

عفوًا ، لم أقصد إغلاق هذا. يجب أن يكون قد نقر على الزر الخطأ.
باه! Python 3.3 فقط خارج وخارج يرفض تسلسل مآخذ التوصيل:
من /usr/lib64/python3.3/socket.py :

    def __getstate__(self):
        raise TypeError("Cannot serialize socket object")

بينما لا تحدد Python 3.2 طريقة __getstate__ على الإطلاق. هل كنت قادرًا على تأكيد أن الأشياء تعمل بشكل صحيح بالفعل في Python 3.2؟ لا يمكنني رؤية مطوري Python يعطلون بشكل تعسفي تخليل المقابس في Python 3.3 إلا إذا كان هناك خطأ ما في طريقة عمل الأشياء في الإصدار 3.2 ...

نعم ، 3.2 تعمل بشكل جيد بالنسبة لي. لم أختبرها تحت الحمل ، لكن في ظل الحمل المحدود الذي ألقيته عليها ، كانت تعمل بشكل جيد. مهما كانت مشاكل التسلسل التي قد تكون موجودة ، أظن أنها يجب أن تكون من النوع الذي (لأي سبب كان) لا يؤثر على websockify.

kanaka : أحاول تشغيل websockify على Windows 2012 R2 Standard (64 بت).
لقد قمت بتثبيت إصدار Python 2.7.11.
تم تثبيت إصدارات 64 بت متوافقة من "py2exe" و "numpy".
مررت بجميع المشكلات المذكورة لتشغيل novnc على Windows (خاصة # 108 و # 233)

المشكلة: عندما أحاول الاتصال عبر عنوان url للويب (http: //localhost/vnc.html؟ host = localhost & port = 6080) ، أتلقى استثناء المعالج: "لا يمكن اختيار كائنات thread.lock"
"خطأ في الاستيراد: لا توجد وحدة نمطية تسمى تشغيل" من forking.py

الرجاء اقتراح حل. أشعر أنه لم تكن هناك تجربة تشغيل ناجحة قوية لهذه الأداة في Windows. يرجى إعلامي إذا لم يكن المقصود تشغيله على Windows. أم أنني أفتقد شيئًا من جانبي؟ نقدر ردك

image

@ kabilraj1979 websockify لا يعمل على Windows باستخدام python 2.X. كان هناك بعض النجاح في استخدام Python 3.X. ومع ذلك ، يبدو أن إصدار node.js من websockify (ليس لدي نظام Windows للاختبار معه) يعمل بشكل جيد على Windows ، لذا أقترح عليك استخدام إصدار node.js إذا كان هذا خيارًا لك.

kanaka : شكرا على الرد. سمح لي websockify.js بالاتصال. شكر. تحتاج إلى استكشاف الرمز الموجود في محتوى الويب. كان ملف js يقوم بشكل أو بآخر بإرسال واستقبال جزء من اتصال مقبس الويب (نوع من الوكيل العكسي)؟

هل هناك طريقة لإنشاء إصدار nodejs في إصدار بسيط من البرنامج النصي / exe يسهل نشره؟
رأيت نص Powershell هنا: https://github.com/aberbegall/novnc-launch-powershell/blob/master/README.md
لكن لديها الكثير من التبعيات (تثبيت nodejs كاملة ، ثم تنزيل حزم إضافية ، إلخ) ، لذلك لا توجد طريقة لنشر هذا بسهولة بالنسبة لي على العديد من العملاء.
كان هدفي هو وضع حل بعيد مجاني ومفتوح ومستقل لا يعتمد على أي خوادم إضافية.

kanaka : في كل مرة أقوم فيها

يمكن لعدة عملاء @ kabilraj1979 الاتصال بنفس مثيل websockify.js في نفس الوقت. ومع ذلك ، يجب أن يكون لديك مثيل واحد من websockify.js لكل هدف تريد الاتصال به. يدعم إصدار python من websockify المكونات الإضافية المستهدفة التي تسمح بتحديد الهدف بواسطة رمز مميز غير شفاف يوفره العميل. ومع ذلك ، لم يتم نقل هذه الوظيفة إلى websockify.js حتى الآن.

لقد اختبرت الشيء SIGCHLD ، ولكن كما لاحظت ، هناك الكثير من المشكلات المتبقية مع multiprocessing . في الوقت الحالي ، قمت بوضع كتلة نشطة في الكود لذا فهي ترفض البدء على Windows. يجب أن يجعل تعاملنا مع المشكلات أكثر سلاسة على الأقل.

sonicnkt : تمكنت من إنشاء ملف exe (من إصدار Node.js) حتى لا تحتاج إلى تثبيت Node.js والمكونات.
هذه هي الخطوات (لم أستخدم Node.js من قبل ، لذلك أنا متأكد تمامًا من وجود حل أقصر):

  1. تثبيت NodeJS (مسار التثبيت العمومي الافتراضي هو:٪ AppData٪ \ npm ،٪ AppData٪ \ npm-cache)

  2. قم بتثبيت المكونات المطلوبة ، قم بتشغيل:

    • تثبيت npm -g Express
    • npm install -g متفائل
    • تثبيت npm -g policyfile
    • تثبيت npm -g ws
    • npm تثبيت خادم http -g
    • تثبيت npm -g أنواع mime
    • npm تثبيت- g pkg
  3. أنشئ مجلدًا باسم "websockify" ضمن "٪ AppData٪ \ npm \ node_modules \" وانسخ محتويات المجلد "websockify \ other \ js" فيه.

  4. تشغيل (توثيق الوسائط -> https://www.npmjs.com/package/pkg): pkg "٪ AppData٪ \ npm \ node_modules \ websockify \ websockify.js" --targets "latest-win-x86، latest- win-x64 "- خارج المسار" مجلد الإخراج الخاص بك "

هذا يعمل جيدًا بالنسبة لي أيضًا. تم الاختبار على Windows 10 ومع خادم noVNC + TigerVNC Windows.

@ gdan101 هل يمكن أن تخبرني ما هو إصدار العقدة الذي كان لديك عندما قمت بتشغيل هذا؟ أواجه مشكلة في nodejs 10.1.0 و websockify: https://github.com/novnc/websockify/issues/307#issuecomment -391125660

mliudev كان لدي node-v6.11.4 على جهاز يعمل بنظام Windows 7 x64!

kanakaCendioOssman هل الدعم NOVNC عكسي VNC اتصال الطريق كانت مدعومة من قبل tightvnc.
المرجع: https://kempniu.wordpress.com/2009/03/21/reverse-connections-in-tightvnc/

كيف يمكننا فتح عارض novnc في وضع الاستماع إذا كانت الإجابة بنعم على السؤال أعلاه.

نحن نستخدم novnc لالتقاط الأجهزة داخل الشبكة ولكننا نريد استخدام نفس تطبيق الويب لالتقاط أجهزة (vnc) خارج الشبكة عبر الإنترنت. وذلك لأن خادم الويب لا يمكنه الوصول إلى الأجهزة ذات عنوان IP الخاص خلف جهاز التوجيه. نود استخدام ميزة عكس vnc التي يجب أن تسمح للأجهزة ذات IP الخاص بمشاركة الشاشة مع عميل novnc على خادم الويب

SiddharthJyoti من فضلك توقف عن إرسال نفس السؤال غير المرغوب فيه في أماكن متعددة

samhed إجابتك السريعة على السؤال موضع تقدير.

لا تدعم noVNC الاتصالات العكسية مثل تلك الموضحة في تلك المدونة.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات

القضايا ذات الصلة

jacquev6 picture jacquev6  ·  3تعليقات

jakoch picture jakoch  ·  3تعليقات

maanbsat picture maanbsat  ·  3تعليقات

DarwinSurvivor picture DarwinSurvivor  ·  3تعليقات

hansent picture hansent  ·  3تعليقات