私はサーバーに接続し、特別にフォーマットされたパケットを受け取り、テストして除外できるPythonプログラムを持っています。サーバーに接続することはできますが、パケットを受信していることはわかりませんが、確信しています。私はこれをデバッグする方法を知らない。クライアントソケットがPythonコードで受信されない
class client:
def __init__(self, host ='127.0.0.1', port=12345):
self.host = host
self.port = port
self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.sock.connect((self.host, self.port))
def get_next_event(self):
pkt_size_data = self.sock.recv(4)
# on the above line I am not getting any response, the client just waits for something....
pkt_size = self.size_struct.unpack((pkt_size_data))[0] #I never get here
pkt_data= self.sock.recv(pkt_size)
#( get_next_event is called from an infinite loop)
私はVS2010を使用しています - ブレークポイントを設定する - VS2010のツールを使用して、私のオブジェクトを見て - されているが、いくつかのツール私はRECVからの任意の応答を取得していない午前、なぜ私はデバッグに使用して見ることができますか?
なぜ私は何の反応も得られませんか?
"私は確信していますが" - それについてはどうすればよいですか?証拠は何ですか? – izhak
このプログラムは他の人によって使用されています(私は、サーバが送信しているものを変更しました、かなり理論的には、送受信されるパケットが同じタイプであることを確信しています)。 私はクライアントを修正しようとしていますが、まずそれを理解しようとしていますが、動作させることができません。 サーバはパケットを連続的に送信しています... Es – Thalia
無限ループの外で、一度だけ呼び出すようにしてください。何が得られるかを見てください.4より小さいbufsizeで呼び出してみてください。今のところ、これはあなたが本当に何も受け取っていないように見えます。 – izhak