मैं नेटवर्किंग प्रोग्रामिंग सीख रहा हूं और इस उदाहरण के माध्यम से सॉकेट की मूल बातें समझने की कोशिश कर रहा हूं।सॉकेट। आतंक: अवैध तर्क
import socket,sys
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
MAX = 65535
PORT = 1060
if sys.argv[1:] == ['server']:
s.bind(('127.0.0.1',PORT))
print 'Listening at ' , s.getsockname()
while True:
data,address = s.recvfrom(MAX)
print ' The address at ' , address , ' says ' , repr(data)
s.sendto('your data was %d bytes' % len(data),address)
elif sys.argv[1:] == ['client']:
print ' Address before sending ' ,s.getsockname()
s.sendto('This is the message',('127.0.0.1',PORT))
print ' Address after sending ' ,s.getsockname()
data,address = s.recvfrom(MAX)
print ' The server at ' , address , ' says ' , repr(data)
else:
print >> sys.stderr, 'usage: udp_local.py server | client '
हालांकि, इसकी एक अपवाद getsockname द्वारा दिए गए तर्क कह ऊपर फेंक() विशेष रूप से लाइन पर अमान्य थे 22.The कोड जहाँ तक मैं know.Here अपवाद
Traceback (most recent call last):
File "udp_local.py", line 23, in <module>
print ' Address before sending ' ,s.getsockname()
File "c:\Python27\lib\socket.py", line 224, in meth
return getattr(self._sock,name)(*args)
error: [Errno 10022] An invalid argument was supplied
का उपयोग करना है सही है PyScripter 2.5.3.0 x86
कि विनसॉक है? – wRAR
एक सॉकेट शायद वास्तव में * भेजने से पहले एक पता नहीं होगा, जब तक कि आप पहले इसे 'बाइंड' कहते हैं। मैक पर, मुझे कोई त्रुटि नहीं मिलती है लेकिन लौटा हुआ पोर्ट '0' है (जिसका अर्थ है कि इसे अभी तक एक पोर्ट असाइन नहीं किया गया है)। – robertklep
मैं पायथन का उपयोग कर रहा हूं। मानक सॉकेट मॉड्यूल – devsaw