मैं अजगर में एक साधारण ग्राहक & सर्वर संदेश कार्यक्रम बनाने के लिए कोशिश कर रहा हूँ, और मैं त्रुटि "लेखन त्रुटि: 'str' बफर इंटरफ़ेस का समर्थन नहीं करता" बार आ रही है और नहीं है वास्तव में यह भी पता है कि इसका क्या अर्थ है। मैं अधिकांश भाग के लिए अजगर के साथ शुरुआत कर रहा हूं, और नेटवर्किंग के साथ एक पूर्ण भिखारी हूं।लेखन त्रुटि: str बफर इंटरफ़ेस का समर्थन नहीं करता
मैं किसी कारण मैं स्ट्रिंग डेटा नहीं भेज सकते हैं के लिए यह सोचते हैं रहा हूँ? यदि यह मामला है, तो मैं एक स्ट्रिंग कैसे भेजूं?
संदर्भ के लिए, उदाहरण कोड मुझे इनमें से अधिकतर पाइथन 2.x के लिए मिला था, और मैं इसे पायथन 3 में कर रहा हूं, इसलिए मेरा मानना है कि यह संस्करण संक्रमण से बाहर काम करने के लिए एक और कंक है। मैंने एक ही समस्या के लिए चारों ओर खोज की है, लेकिन वास्तव में यह नहीं कर सकता कि मेरी स्थिति में एक ही फिक्स को कैसे लागू किया जाए।
यहाँ सर्वर के लिए शुरुआत कोड है:
import socket
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind(("", 5000))
server_socket.listen(5)
print("TCP Server Waiting for client on port 5000")
while 1:
client_socket, address = server_socket.accept()
print("TCP Server received connect from: " + str(address))
while 1:
data = input("SEND(Type q or Q to quit):")
if(data == 'Q' or data == 'q'):
client_socket.send(data)
client_socket.close()
break;
else:
client_socket.send(data)
data = client_socket.recv(512)
if(data == 'q' or data == 'Q'):
client_socket.close()
break;
else:
print("Received: " + data)
[' StringIO.StringIO (डेटा) '] भेजने का प्रयास करें। –
एक तरफ ध्यान दें के रूप में: इस प्रकार आप अपनी अगर-बयानों को आसान बनाने में कर सकते हैं 'अगर ('क्यू', 'क्यू') में डेटा:' – gsk
@gsk: या 'अगर data.lower() ==" q ":' । –