سؤال

ولدي الحالة التي أنا بحاجة لإرسال الأوامر إلى تطبيق جافا تعمل، الآن أنا باستخدام مقبس TCP / IP لإرسال الأوامر إلى التطبيق باستخدام إنترنت إكسبلورر عنصر قائمة السياق. ولكن بمجرد بدء تشغيل التطبيق الماسحات الضوئية الفيروسات يشكون من أن التطبيق بدأ الاستماع، على الرغم من أنني الاستماع فقط للاتصالات المحلية. وأعتقد أن هذا قد يكون مربكا للمستخدمين. أنا أبحث في وسائل أخرى للتواصل دون التبول قبالة الماسحات الضوئية للمركبات؟

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

المحلول

لذلك، كنت أفضل حالا ملف يستند طابور FIFO. أو باستخدام جافا الأصلية وصول / جافا واجهة الأصلية الكتابة إلى NamedPipe أو الذاكرة المشتركة. إذا ذهبت إلى JNA / JNI الطريق، يمكنك إنشاء <لأ href = "http://msdn.microsoft.com/en-us/library/ms682396٪28VS.85٪29.aspx" يختلط = "نوفولو noreferrer" > الاسم الحدث .

ولكن هناك على الارجح بأي حال من الأحوال أن تفعل ما تريد، مع أي مبلغ من الكفاءة دون الخوض في JNA / JNI الطريق.

نصائح أخرى

ويمكنك استخدام لواحق إدارة جافا (جمك) لفضح الأساليب في عملية التشغيل من خلال واجهة ويب بسيطة.

والمقابس هي الى حد كبير الطريقة التقليدية للقيام IPC، ولكن إذا كنت <م> حقا تريد تجنب لهم، وكنت <م> قد تكون قادرة على التوصل إلى الحل باستخدام المحلية نظام الملفات. كنت لا تريد استخدام ملف قياسي يقرأ / يكتب، منذ كنت تريد على الأرجح من أجل التنفيذ الفعال قائمة انتظار في نظام الملفات.

إذا <م> أنا كانوا في طريقهم لتنفيذ IPC من خلال نظام الملفات، ربما كنت تستخدم برنامج SQLite (<لأ href = "http://www.sqlite.org/faq.html#q6" يختلط = "نوفولو noreferrer"> التي يمكن أن تكون threadsafe عندما جمعت نحو ذلك) ولها جدول واحد لكل مستمع. كنت على الارجح استخدام جدول من عمود واحد لادخال الرسالة، وسوف المستمع سحب للتو الصف بأقل <لأ href = "http://www.sqlite.org/autoinc.html" يختلط = "نوفولو noreferrer "> ROWID ، ثم قم بحذف قال التوالي.

ولكن وجهة نظري ليست على الإطلاق جافا محددة، لذلك قد يكون هناك طرق أفضل للقيام بذلك باستخدام جافا (مثل @ darthcoder في الاستجابة).

وهناك الكثير من الناس استخدام شيء مثل الدائرة في هذا السيناريو.

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