2016-10-12 16 views
6

मैं मूल क्लाइंट ऐप से एक जेएनएलपी जावा एप्लिकेशन लॉन्च कर रहा हूं (यानी ब्राउज़र नहीं)। जब जेएनएलपी अपना काम पूरा करता है, तो मुझे कॉलिंग ऐप में एक स्ट्रिंग वापस करने की आवश्यकता होती है? मैं यह कैसे कर सकता हूँ? क्या कॉलिंग ऐप पर एक मूल्य वापस करना संभव है - या क्या मुझे एक बंदरगाह ऐप को बंदरगाह पर सुनना होगा और जेएनएलपी ऐप सॉकेट के माध्यम से उस पोर्ट को मान लिख सकता है? all-permissions तत्व निर्दिष्ट किया जाता हैमूल कॉलिंग एप्लिकेशन को जेएनएलपी से वापसी मूल्य कैसे मिलता है?

+0

कृपया, आप कैसे आप कॉल कर रहे हैं का एक उदाहरण पोस्ट कर सकते हैं? – karelss

+0

@karelss - javaws प्रक्रिया द्वारा कहा जाता है में शुरू :: सी # – user93353

उत्तर

1

हैं, तो आप एक वातावरण चर जो आप अपने सी # आवेदन से पढ़ सकते हैं सेट करने का प्रयास कर सकता है। जावा में

सेट वातावरण चर:

System.getenv().put("returnValue", "yourValue"); 

सी # में पढ़ें वातावरण चर:

ProcessStartInfo p = new ProcessStartInfo("start ...."); 
.... 
string returnValue = p.EnvironmentVariables["returnValue"]; 
+0

मत सोचो इस काम करेंगे - बच्चे को एक अलग प्रक्रिया है - में चर मान में कोई परिवर्तन - यह माता पिता की env चर की एक प्रति विरासत बच्चे माता-पिता में प्रतिबिंबित नहीं होंगे - कम से कम इस तरह यह अधिकांश ऑपरेटिंग सिस्टम पर काम करता है - यह विंडोज़ पर परीक्षण करेगा और देखेंगे। – user93353

1

मैं सॉकेट उपयोग करने के लिए अपने विचार पसंद और लगता है कि यह एक आसान समाधान हो सकता है।

यह एक WebStart-आवेदन से वापसी मान प्राप्त करने के लिए संभव नहीं है।

javaws --help 

कोई सहायता-कोड उपलब्ध नहीं है, बस सहायता संदेश देखें। (क्षमा)

आप सॉकेट के बजाय एक अस्थायी फ़ाइल पर thougth है?

1

यह थोड़ा पुराना है, लेकिन FAS के रूप में के रूप में मुझे पता है यह बाहर निकलने के विकल्प दो प्रक्रिया link पत्र-व्यवहार करना है।

मुझे लगता है कि आपकी समस्या का समाधान करने के लिए सबसे आसान तरीका है मेरे अपने प्रश्न का उत्तर देना उपयोग RMI, या JMX यदि आप कर सकते हैं, या सिर्फ एक सरल सॉकेट

2

है!

मैं बच्चे प्रक्रिया से stdout (JNLP) को लिखने

  • माता-पिता बच्चे प्रक्रिया जनक

    string ret = process.StandardOutput.ReadToEnd(); 
    
  • Process::WaitForExit(); 
    
  • से stdout

    Process::Start 
    
  • पढ़ें शुरूआत

कोई भी इसमें कोई समस्या देखता है?

संबंधित मुद्दे