0

私のアプリは、ソケットを介して Web サーバーから実行するジョブを受け取ります。アプリでジョブが実行されている時点で、アプリがそれ以上受信されなくなる前に、アプリにあと 2 つのメッセージしか送信できません。

def handlemsg (self, data):
    self.sendmsg (cPickle.dumps('received')) # send web server notification received

    data = cPickle.loads(data)

    print data

    # Terminate a Job
    if data[-1] == 'terminate':
        self.terminate(data[0])

    # Check if app is Available
    elif data[-1] == 'prod':
        pass

    # Run Job
    else:
        supply = supply_thread(data, self.app)
        self.supplies[data['job_name']] = supply
        supply.daemon = True
        supply.start()

サーバーに好きなだけ製品を送信できます。しかし、スレッドをアクティブにするジョブを送信すると、応答が制限されます。何らかの理由で、ジョブの実行中にさらに 2 つの prod を送信できるようになります...しかし、その後、印刷メッセージは表示されず、そのまま動作し続けます。

何か案は?ありがとう

4

1 に答える 1

0

データグラムソケット構成を介してデータを実行していました。ソケットストリームに切り替えたところ、解決したようです。

http://turing.cs.camosun.bc.ca/COMP173/notes/PySox.html

解決に役立ちました。

于 2013-10-01T01:12:30.970 に答える