मैं एक ग्राहक सर्वर अनुप्रयोग है में टीसीपी से अधिक खखार डेटा भेजने के लिए, में असमर्थ:TCP कनेक्शन का उपयोग कर</p> <p>क्लाइंट जाओ प्रोग्रामिंग
type Q struct {
sum int64
}
type P struct {
M, N int64
}
func main() {
...
//read M and N
...
tcpAddr, err := net.ResolveTCPAddr("tcp4", service)
...
var p P
p.M = M
p.N = N
err = enc.Encode(p)
}
सर्वर:
type Q struct {
sum int64
}
type P struct {
M, N int64
}
func main() {
...
tcpAddr, err := net.ResolveTCPAddr("ip4", service)
listener, err := net.ListenTCP("tcp", tcpAddr)
...
var connB bytes.Buffer
dec := gob.NewDecoder(&connB)
var p P
err = dec.Decode(p)
fmt.Printf("{%d, %d}\n", p.M, p.N)
}
की सेवा पर परिणाम है {0, 0} क्योंकि मुझे नहीं पता कि net.Conn
से bytes.Buffer
चर कैसे प्राप्त करें।
क्या टीसीपी पर गोब चर भेजने के लिए कोई तरीका है?
यदि सही है, तो यह कैसे किया जा सकता है? या टीसीपी पर संख्या भेजने में कोई विकल्प है?
कोई भी मदद या नमूना कोड वास्तव में सराहना की जाएगी।
आपका उदाहरण शानदार काम करता है। धन्यवाद। केवल सवाल है कि मैं सर्वर से वापस क्लाइंट को परिणाम कैसे भेज सकता हूं? – Emanuel
एक सॉकेट बिडरेक्शननल है। जैसा कि आप क्लाइंट में लिखते हैं, बस 'हैंडल कनेक्शन' फ़ंक्शन में इसे लिखें। –
यह बहुत अच्छा काम करता है। उदाहरण के लिए धन्यवाद। मैं सर्वर पर एक {नक्शा [स्ट्रिंग] स्ट्रिंग} भेजना चाहता हूं। लेकिन यह सर्वर के अंत में डीकोड नहीं किया जाता है। इस पर कोई सुझाव? – Dany