2012-01-18 12 views
7

के माध्यम से तारों के अलावा कुछ भी कैसे भेज सकता हूं मैं पाइथन में प्रोग्रामिंग के लिए बहुत नया हूं, लेकिन आवश्यकता से मुझे कुछ जल्दी से कुछ हैक करना पड़ा।मैं Python sock.send()

मैं यूडीपी पर कुछ डेटा भेजने की कोशिश कर रहा हूं, और मेरे पास सबकुछ काम कर रहा है, इस तथ्य को छोड़कर कि जब मैं socket.send() करता हूं, तो मुझे स्ट्रिंग फॉर्म में डेटा दर्ज करना होगा। यहाँ मेरी कार्यक्रम है ताकि आप देख सकते हैं कि मैं क्या कर रहा हूँ:

import socket 


IPADDR = '8.4.2.1' 
PORTNUM = 10000 

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, 0) 

s.connect((IPADDR, PORTNUM)) 

s.send('test string'.encode('hex')) 

s.close() 

मैं इसे कैसे मिल सकता है, ताकि मैं s.send तरह हेक्साडेसिमल में कुछ कर सकते हैं तो (एफएफ: 23:: 25 A1) उदाहरण के लिए, जब मैं वायरशर्क में पैकेट के डेटा हिस्से को देखता हूं, तो मुझे एफएफ: 23: 25: ए 1

उत्तर

12

क्या आप पाइथन 2.7 या 3.2 का उपयोग कर रहे हैं?

3.2 में आप कर सकता है:

data = bytes.fromhex('01AF23') 
s.send(data) 

डाटा तो के बराबर होगा:

b'\x01\xAF\x23' 

2,7 ही में के साथ पूरा किया जा सकता है: इतना

data = '01AF23'.decode('hex') 
+0

धन्यवाद, मैं पायथन 2.7 का उपयोग कर रहा हूं और आपके सुझाव ने चाल की है! – Adam