मैं वास्तव में सीधे जावा सॉकेट लाइब्रेरी का उपयोग न करने की अनुशंसा करता हूं। मुझे नेटी (जेबॉस से) को वास्तव में कार्यान्वित करने और वास्तव में शक्तिशाली होने के लिए मिला है। Netty ChannelBuffer कक्षा स्ट्रीम नीचे POJOs लिखने के लिए यदि आप चाहें तो अपने स्वयं के एनकोडर और डिकोडर लिख सकते लिए विभिन्न डेटा प्रकार और निश्चित रूप से लिखने के लिए विकल्पों में से एक पूरी मेजबान के साथ आता है।
यह पृष्ठ वास्तव में एक अच्छा स्टार्टर है - मैं इसे पढ़ने के 30 मिनट के भीतर कस्टम एन्कोडर्स और डिकोडर्स के साथ एक काफी परिष्कृत ग्राहक/सर्वर बनाने में सक्षम था: http://docs.jboss.org/netty/3.2/guide/html/start.html।
यदि आप वास्तव में जावा सॉकेट का उपयोग करना चाहते हैं। सॉकेट उत्पादन धारा एक DataOutputStream जो आप उदाहरण के लिए भी कई विभिन्न डेटा प्रकार लिखने के लिए, की अनुमति देता है में लिपटे जा सकता है:
new DataOutputStream(socket.getOutputStream()).writeInt(5);
मुझे आशा है कि उपयोगी है।
क्या आप सुनिश्चित हैं कि सी प्रोग्राम और जावा प्रोग्राम द्विआधारी स्याही का इलाज करता है और उसी तरह तार करता है? यदि आप नहीं हैं, तो उन्हें सादे पुराने पाठ के रूप में भेजें। आप सी कार्यक्रम का नियंत्रण नहीं है, तो सॉकेट पढ़ने तो आप कोई विकल्प नहीं होगा, लेकिन डेटा जो कुछ भी प्रारूप में सी कार्यक्रम चाहता है भेजने के लिए। –