簡體   English   中英

使用 s.recv() 接收數據

[英]receive data with s.recv()

我有一小部分代碼,我認為我的計算機已連接到我的傳感器(陀螺儀傳感器),但它的 recv 部分有一個大問題。 有了這個s.recv()部分,我的程序卡住了,沒有結果。 等待想法。 提前致謝

import socket 

TCP_IP = '......'
TCP_PORT = ....                                      
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((TCP_IP, TCP_PORT))

while True:
    data = s.recv(50)
    print data
    if not data:
        break

s.close()

您的問題很可能出在發送數據的代碼中。

但是,請在此處對您的代碼進行一些注釋:

  • 更好地捕捉異常。
  • 您要求在您的套接字中僅接收 50 的大小。 如果發件人發送的較少,那么您就會陷入困境。 檢查發送方發送的數據的長度是多少。
  • 你不應該在沒有超時的情況下使用這樣的套接字。
  • 在connect 之后使用print 語句檢查是否卡在connect 或recv 部分。 這將告訴您在哪里調試發件人代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM