Python之簡單Socket編程,pythonsocket

來源:互聯網
上載者:User

Python之簡單Socket編程,pythonsocket

Socket編程這塊兒還是比較重要的,記錄一下:實現伺服器端和用戶端通訊(用戶端發送系統指令,如ipconfig等,伺服器端執行該指令,然後將指令返回結果給用戶端再傳過去,設定一次最多直接收1024位元組,如果一個檔案大於1024位元組,就先儲存起來,等到全部接收完成再一次性列印出來),代碼如下:

伺服器端:

 

用戶端:

 

 

粘包問題

  當兩條.send()語句連著執行時,因為兩條語句連著執行,所以有可能兩天資訊連在一起發出去,造成粘包,這是在兩條.send()語句中間寫一個time.sleep(0.5)
讓他睡0.5秒,可以解決粘包問題,但是如果是那種即時資料,有會造成資訊延遲,在很多情況下這是不被允許的.
  這時還有另外一個辦法,就是在兩次send之間插入一次.recv()語句,讓伺服器端再接收到用戶端發來的第一次資料使立即向用戶端返回一次確認,
用戶端在收到確認後才會進行第二次發送,這樣就解決了粘包問題.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.