Hessian एक्सएमएल तुलना में काफी बेहतर संचार प्रोटोकॉल है। एक बाइनरी प्रारूप होने के नाते यह और भी कॉम्पैक्ट है, और सख्त प्रारूप पार्सिंग के साथ अधिक तेज है।
बोनस के रूप में जावा, .NET और PHP के लिए वेब सेवा का पर्दाफाश करने के लिए पहले से ही ढांचे हैं। वास्तव में आसान है। मान आप इस सी # इंटरफेस है:
public interface ITest {
public string getGreeting();
int addNumbers(int a, int b);
}
तो यह सर्वर HessianC# के प्रयोग पर एक तस्वीर लागू कर रहा है:
public class CTest:CHessianHandler, ITest {
public string getGreeting() { return "Hello World!"; }
public int addNumbers(int a, int b) { return a + b; }
[STAThread]
private static void Main(string[] args) {
CWebServer web = new CWebServer(5667, "/test/test.hessian", typeof (CTest));
web.Paranoid = true;
web.AcceptClient("[\\d\\s]");
web.Run();
for (;;) {
if (Console.ReadLine() != "") {
web.Stop();
break;
}
}
}
}
iPhone पक्ष सी # इंटरफ़ेस एक ऑब्जेक्टिव-सी प्रोटोकॉल में अनुवाद करने की जरूरत पर :
@protocol ITest
-(NSString*)getGreeting;
-(int)addNumbers:(int)a :(int)b;
@end
और फिर सेवा के लिए एक प्रॉक्सी प्राप्त करने के लिए HessianKit का उपयोग कर के रूप में लगभग आसान है:
id<ITest> proxy = [CWHessianConnection proxyWithURL:serviceURL
protocol:@protocol(ITest)];
NSLog(@"Greeting: %@", [proxy getGreeting]);
NSLog(@"The answer: %d", [proxy addNumbers:40 :2]);
इस संक्षिप्त उत्तर में विधि नाम काफी सी # -श नहीं हैं, जो कि ओबज-सी-आश नहीं है। ऐसा इसलिए है क्योंकि डिफ़ॉल्ट रूप से हेसियनकिट जावा के नामकरण सम्मेलनों का उपयोग करता है। यह विधि प्रदान करके हेसियनकिट में ओवरराइड किया जा सकता है, और नाम अनुवाद टाइप करें। ताकि कनेक्शन पर सी # और ओब्जे-सी दोनों पक्ष घर पर 100% महसूस करते हैं।उदाहरण के लिए:
मैं:
[CWHessianArchiver setClassName:@"com.mycompany.ITest"
forProtocol:@protocol(CWTest)];
[CWHessianArchiver setMethodName:@"AddNumbers"
forSelector:@selector(addInt:toInt:)];
मेरे पास अपनी स्वयं की डब्ल्यूसीएफ सेवाएं चल रही हैं, मैं साबुन का उपयोग नहीं करता – Daniel
मैं आपके साथ दृढ़ता से सहमत हूं, साबुन प्रोटोकॉल आईफोन – fyasar
ब्रो के लिए बहुत बड़ा है, आपके द्वारा प्रदान किया गया लिंक अब उपलब्ध नहीं है। यदि आपके पास है तो नया पोस्ट करें। –