मैं नेटवर्क प्रोग्रामिंग का अध्ययन करता हूं और पाइथन में एक साधारण कमांड लाइन चैट लिखना चाहता हूं।पायथन में एक साधारण कमांड लाइन चैट कैसे करें?
मैं सोच रहा हूं कि किसी भी समय भेजने के लिए उपलब्ध इनपुट के साथ लगातार कैसे प्राप्त करना है।
जैसा कि आप देख, यह ग्राहक एक समय में केवल एक ही काम कर सकते हैं:
from socket import *
HOST = 'localhost'
PORT = 21567
BUFSIZE = 1024
ADDR = (HOST, PORT)
tcpCliSock = socket(AF_INET, SOCK_STREAM)
tcpCliSock.connect(ADDR)
while 1:
data = raw_input('> ')
if not data: break
tcpCliSock.send(data)
data = tcpCliSock.recv(BUFSIZE)
if not data: break
print data
tcpCliSock.close()
तो एक और ग्राहक एक संदेश भेजता है, तो यह ग्राहक केवल यह भी एक संदेश भेजने के बाद प्राप्त होगा। मुझे यकीन है कि तुम मुझे समझते हो। मैंने इस मामले के लिए गुमराह किया है और कई दिलचस्प चीजें जैसे कि एसिंक्रोनस आई/ओ, थ्रेडिंग, गैर-अवरुद्ध सिंक्रनाइज़ेशन, समवर्ती प्रोग्रामिंग आदि शामिल हैं। मैंने ट्विस्ट पैकेज भी स्थापित किया है। संक्षेप में, मैं इन सभी चीजों को सीख रहा हूं लेकिन फिर भी वह नहीं मिला जो मैं ढूंढ रहा था। (बेशक, मैं कोशिश करता हूं और कोशिश करता हूं जब तक कि मैं बिंदु तक नहीं पहुंच जाता।)
तो, मेरा सवाल यह है कि यह कैसे बनाते हैं? =)
http://docs.python.org/library/select.html मैंने कभी भी पढ़ा है कि खराब दस्तावेज़ है। कोई उदाहरण नहीं हैं! मुझे उस स्रोत से कुछ भी नहीं मिला ... – user122922
ठीक है, फिर कहीं और चुनें एपीआई के बारे में पढ़ें। http://linux.die.net/man/2/select। http://www.cs.utah.edu/~swalton/listings/sockets/programs/। Google काम करता है। –
http://docs.python.org/howto/sockets.html#non-blocking-sockets –