서버에 연결하고 특수하게 포맷 된 패킷을 수신하여 테스트하고 필터링 할 수있는 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
무한 루프 바깥에서 한 번만 전화하려고합니다. 얻은 것을보십시오. bufsize가 4보다 작 으면 1이라고 말하십시오. 지금은 당신이 실제로 아무 것도받지 못하는 것처럼 보입니다. – izhak