1. 建立socket
在這裡我們直接匯入socket模組,然後建立socket物件,socket類初始化時需要賦引數,因為我們這裡建立的是tcp服務,所以就不應改動,如果建立udp服務時則應該改為family=af_inet,type=sock_dgram
socket類構建方法引數型別
2.客戶端請求連線
在這裡為了簡化,我直接使用socket測試工具進行連線,並傳送資料『hello』
accept()方法可以返回乙個元組,為乙個新的套接字與客戶端ip位址與埠,之所以需要返回乙個新的套接字是因為為了滿足下一次的通訊需要,如果使用乙個套接字時那麼當傳送來別的請求時將無法繼續監聽,因為此時的socket正在使用,所以需要新建乙個通訊管道。
上面我們是從最底層建立tcp連線(即從建立最基本的socket開始),事實上在真正的開發中程式設計師很少去從最底層做,因為已經有了封裝的比較好的類庫,從而避免了重複造輪子,在這裡我們將使用socketserver模組中的服務基類與請求處理基類實現該功能
這樣我們便不用去關心底層建立socket的細節,而只關心業務邏輯的處理,使用tcpserver類有乙個缺陷,就是只能為乙個客戶端服務,是單執行緒的,當我們想要建立多執行緒連線時可以使用threadingtcpserver類來滿足。
另外,當我們想要去調整底部的socket時可以設定引數bind_and_activate=false
簡單的TCP伺服器
介紹 winsock api 是一套供 microsoft windows 作業系統使用的套接字程式庫,它最初基於 berkeley 套接字,但是其中加入了一些 microsoft 的特殊改動。在這篇文章中,我要試著給你介紹如何使用 winsock 來進行套接字程式設計,並假設你沒有在任何作業系統上...
簡單TCP伺服器建立
簡單tcp伺服器建立 實現tcp伺服器的建立,實現迴圈與客戶端聊天,並且獲取客戶端資訊.tcp程式設計步驟 1 建立套接字socket 買手機.2 套接字繫結 bind 繫結手機卡.3 監聽套接字 listen 等待其他人打 4 接受客戶端請求 accept 接 進行資料的互動過程.通話內容.5 關...
Beetle簡單構建TCP服務
使用beetle構建tcp服務應用是件非常簡單的事情,它並不需要你去關注socket細節,如果你想用socket編寫高效能的tcp服務,那你要關注的東西非常多,非同步資料處理,大量連線下的執行緒管理和連線斷相關資源處理等等複雜的事情 使用beetle那以上的事情完全都可以不用關心,因為beetle都...