[英]When reading a socket in python, is there any difference between os.read and socket.recv?
假設我有一個插座。 這兩行代碼有什么區別?
第1行:
os.read(some_socket.fileno(), 1024)
第2行:
some_socket.recv(1024)
...除了第一個不能在Windows上運行的事實。 換句話說,我可以用第二行代替第一行嗎? 我有一個尚未在Windows上經過真正測試的代碼庫,這引起了麻煩。
第1行使用帶下划線的文件描述符讀取套接字,因此它與平台有關。 使用第2行,因為它是完成同一件事的可移植的多平台方式。
強制性:如果您正在做任何嚴肅的事情,最好避免不得不處理低級套接字。 他們很難正確對待,似乎事情正在奏效,但有很多細節。 這些細節已經在許多網絡框架中得到解決,沒有理由重新發明輪子。 我建議扭曲 ,這是相當不錯的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.