我有一個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 2012-02-21 21:01:34
這個程序已被其他人使用(我已經改變了服務器發送的內容,理論上我確信發送和接收的數據包是相同的類型 - 但我確信服務器正在發送... 我試圖修改客戶端,但我想先理解它 - 我無法讓它工作。 服務器連續發送數據包... 即使不是,我也會就像能夠看到發生了什麼 Es – Thalia 2012-02-21 21:13:59
試圖在無限循環之外調用一次,看看你得到了什麼,嘗試用小於4的bufsize調用它,比如說1.看看你得到了什麼。 ,現在看起來你並沒有收到任何東西 – izhak 2012-02-21 21:19:59