আমি এই প্রকল্পটি পেয়েছি: একটি ওয়েবসকেট সার্ভারের জন্য http://code.google.com/p/standalonewebsocketserver/ , তবে পাইথনে আমাকে একটি ওয়েবস্কট ক্লায়েন্ট প্রয়োগ করা দরকার, ঠিক আমার ওয়েবসকেট সার্ভারে এক্সএমপিপি থেকে কিছু কমান্ড গ্রহণ করা দরকার।
আমি এই প্রকল্পটি পেয়েছি: একটি ওয়েবসকেট সার্ভারের জন্য http://code.google.com/p/standalonewebsocketserver/ , তবে পাইথনে আমাকে একটি ওয়েবস্কট ক্লায়েন্ট প্রয়োগ করা দরকার, ঠিক আমার ওয়েবসকেট সার্ভারে এক্সএমপিপি থেকে কিছু কমান্ড গ্রহণ করা দরকার।
উত্তর:
http://pypi.python.org/pypi/websocket-client/
হাস্যকরভাবে ব্যবহার করা সহজ।
sudo pip install websocket-client
নমুনা ক্লায়েন্ট কোড:
#!/usr/bin/python
from websocket import create_connection
ws = create_connection("ws://localhost:8080/websocket")
print "Sending 'Hello, World'..."
ws.send("Hello, World")
print "Sent"
print "Receiving..."
result = ws.recv()
print "Received '%s'" % result
ws.close()
নমুনা সার্ভার কোড:
#!/usr/bin/python
import websocket
import thread
import time
def on_message(ws, message):
print message
def on_error(ws, error):
print error
def on_close(ws):
print "### closed ###"
def on_open(ws):
def run(*args):
for i in range(30000):
time.sleep(1)
ws.send("Hello %d" % i)
time.sleep(1)
ws.close()
print "thread terminating..."
thread.start_new_thread(run, ())
if __name__ == "__main__":
websocket.enableTrace(True)
ws = websocket.WebSocketApp("ws://echo.websocket.org/",
on_message = on_message,
on_error = on_error,
on_close = on_close)
ws.on_open = on_open
ws.run_forever()
pip installএটি উইন্ডোতে দুর্দান্ত কাজ করে! আমি অ্যাক্টিভ পাইথন ২.7 ব্যবহার করছি এবং দৌড়েছে pip install websocket-clientএবং এটি ঠিক কাজ করেছে। কেবল ইস্যুটি ছিল pythonসাইগউইন অজগরটির সাথে সংঘর্ষ, সুতরাং আমাকে স্পষ্টতই অ্যাক্টিভ পাইথন /cygdrive/C/Python27/pythonপেতে দৌড়াতে হয়েছিল
sudo। ব্যবহার --user।
পাইথনের জন্য অটোবনে একটি ভাল ওয়েবসকেট ক্লায়েন্ট প্রয়োগের পাশাপাশি কয়েকটি ভাল উদাহরণ রয়েছে। আমি টর্নেডো ওয়েবস্কট সার্ভার দিয়ে নিম্নলিখিতটি পরীক্ষা করেছিলাম এবং এটি কার্যকর হয়েছে worked
from twisted.internet import reactor
from autobahn.websocket import WebSocketClientFactory, WebSocketClientProtocol, connectWS
class EchoClientProtocol(WebSocketClientProtocol):
def sendHello(self):
self.sendMessage("Hello, world!")
def onOpen(self):
self.sendHello()
def onMessage(self, msg, binary):
print "Got echo: " + msg
reactor.callLater(1, self.sendHello)
if __name__ == '__main__':
factory = WebSocketClientFactory("ws://localhost:9000")
factory.protocol = EchoClientProtocol
connectWS(factory)
reactor.run()
from autobahn.twisted.websocket import WebSocketClientFactory, WebSocketClientProtocol, connectWSস্বাবাহনের নতুন সংস্করণগুলির জন্য সঠিক আমদানি। stackoverflow.com/questions/21381454/...
যেহেতু আমি ইদানীং সেই ক্ষেত্রে (জানুয়ারী, '12) নিয়ে কিছুটা গবেষণা করে চলেছি, সর্বাধিক প্রতিশ্রুতিবদ্ধ ক্লায়েন্ট হ'ল পাইথনের জন্য ওয়েবসকেট । এটি একটি সাধারণ সকেটকে সমর্থন করে যা আপনি এই জাতীয়ভাবে কল করতে পারেন:
ws = EchoClient('http://localhost:9000/ws')
clientহতে পারে Threadedবা এর উপর ভিত্তি করে IOLoopথেকে টর্নেডো প্রকল্পের। এটি আপনাকে একাধিক সমবর্তী সংযোগ ক্লায়েন্ট তৈরি করতে দেয়। স্ট্রেস টেস্ট চালাতে চাইলে দরকারী।
ক্লায়েন্টটি onmessage, openedএবং closedপদ্ধতিগুলিও প্রকাশ করে । (ওয়েবসকেট স্টাইল)।
ওয়েব টুপিতে কমেট_মেসেজিং.পি রয়েছে, যা ওয়েবসকেটের জন্য টর্নেডো ব্যবহার করে এখানে একটি উদাহরণ দেখুন: http://vimeo.com/18399381 এবং এখানে ভিমেও। com / 18232653