2010-02-01 8 views
7

में सॉकेट से बाइट्स को कैसे पढ़ा जाए मैं हास्केल में सॉकेट से कई बाइट्स पढ़ने की कोशिश कर रहा हूं। मूल रूप से मैं इसके बराबर कुछ करना चाहता हूं:हास्केल

client_socket.recv(255) #(Python) 

ऐसा करने का सबसे अच्छा तरीका क्या है?

उत्तर

13

नेटवर्क सॉकेट है, जिसमें revFrom और recvBufFrom है। पहला मानता है कि आप एक स्ट्रिंग चाहते हैं, जो आप निश्चित रूप से नहीं चाहते हैं कि आप बाइनरी डेटा चाहते हैं। दूसरा एक पॉइंटर का उपयोग करता है, जिसे आप शायद सौदा नहीं करना चाहते हैं। सॉकेट टॉंडल भी है, जो बहुत उपयोगी है।

हालांकि, मेरी सिफारिश नेटवर्क-बायटेस्ट्रिंग लाइब्रेरी है। यह आलसी और सख्त बाइटिंग दोनों का समर्थन करता है। http://hackage.haskell.org/package/network-bytestring

+1

मदद साथी के लिए धन्यवाद – MattyW

2

इस तरह के शुरुआती प्रश्नों के लिए, RWH पहले जांचना बुरा विचार नहीं है।

और अंगूठे के सामान्य नियम के रूप में, आपको हमेशा पुस्तकालयों और दस्तावेज़ीकरण के लिए Hackage पर देखना चाहिए। फ़ंक्शन खोजने के लिए, Hayoo और Hoogle आपके मित्र हैं।

+0

धन्यवाद वी हू। मुझे आरडब्ल्यूएच की एक प्रति मिली है - लेकिन दुर्भाग्य से मैं घर चलने के बीच में हूं और यह एक बॉक्स में समाप्त हो गया है। लेकिन मैं ऑनलाइन एक के बारे में भूल गया था। याद दिलाने के लिए शुक्रिया! – MattyW