جافا IPC: واجهة المستخدم الرسومية وسطر الأوامر

StackOverflow https://stackoverflow.com/questions/249027

  •  05-07-2019
  •  | 
  •  

سؤال

وأود أن تنفيذ واجهة سطر الأوامر لتطبيق جافا. وهذا لن يكون من الصعب جدا القيام به، إلا أنني أود برنامج سطر الأوامر ليؤثر على حالة برنامج آخر جافا واجهة المستخدم الرسومية. هكذا على سبيل المثال، يمكن أن اكتب:

java CliMain arg1 arg2

وسيكون تشغيل المثال واجهة المستخدم الرسومية آخر تنفيذ إجراء المناسب.

ما هي أسهل طريقة لتنفيذ شيء من هذا القبيل؟

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

المحلول

هل يمكن أن يكون تطبيق واجهة المستخدم الرسومية الاستماع على منفذ TCP (على واجهة localhost) وان تطبيق CLI الاتصال به.

وطريقة واحدة للقيام بذلك سيكون لاستخدام REST على HTTP.

نصائح أخرى

وهناك طريقة أخرى هي من خلال JMX. فهو يوفر لك الكثير من الاشياء "مجانا" (في حالة بسيطة يمكنك فقط تنفيذ الفول و تسجيله - بسيطة جدا)، وبشكل خاص مناسبة تماما لهذه المهمة

ويمكن أن يكون تطبيق واجهة المستخدم الرسومية (مثل محرر) استماع على

1) الحدث الحافظة من نوع معين
   إذا كان الحدث هو من النوع الذي كنت مهتما، ثم الحصول على محتويات الحافظة.

2) مأخذ الخادم على المنفذ معين على
   الاستماع على مأخذ الخادم. عند بدء تشغيل البرنامج CLI، فإنه يتصل مأخذ الخادم في المنافذ المعروفة، يرسل المعلومات وإنهاء.

3) الانتظار
   يمكنك enque من برنامج CLI وصف مزدوج الذيل من برنامج واجهة المستخدم الرسومية.

وإذا كنت ترغب في مزيد من التحقيق، العديد من المحررين المهنية مثل ايماكس استخدام نفس الآلية. http://www.emacswiki.org/emacs/EmacsClient

ويمكن التحكم طلبك عبر RMI . تطبيق ستنفذ واجهة التحكم وتسجيل خدماتها على المضيف المحلي وتطبيق سطر الأوامر سوف تحصل على وكيل جمهورية جزر مارشال واستدعاء أساليب التحكم المطلوب ...

ويبدو من الصعب في البداية، ولكن عندما حاولت الخروج سترى بسرعة مدى سهولة هذا هو. وكما أنها تدعم التشفير عبر SSL . لذلك يمكن أن تأمين تبادل البيانات الخاصة بك إذا كان هناك أمن البيانات على الانترنت ذات الصلة.

وأسهل طريقة هي أن تقوم واجهة المستخدم الرسومية للاستماع للأوامر على منفذ TCP. ان سطر الأوامر إرسال الأوامر، وستكون واجهة المستخدم الرسومية تفسيرها.

وربما يمكنك أن تفعل ذلك مع الأنابيب اسمه أيضا، ولكن لست متأكدا كيف كنت تذهب نحو تنفيذ ذلك في جافا.

scroll top