Socket程式設計

2021-10-05 11:00:01 字數 844 閱讀 2253

socket起源於unix,而unix/linux基本哲學之一就是「一切皆檔案」,都可以用「開啟open->讀寫write/read->關閉close」模式來操作檔案。socket就是該模式的乙個實現,socket即是一種特殊的檔案,一些socket函式就是對其進行操作(讀寫io、開啟、關閉)。因此socket也提供了類似於連線connect、關閉連線close、傳送、接收等方法的呼叫

常用stream和dgram

stream表示面向連線的資料傳輸方式,資料可以準確無誤地到達另一台計算機,如果丟失或損壞,可以重新傳送,但是相對效率低

dgram表示無連線的資料傳輸方式,計算機只管資料傳輸,不做資料校驗,dgram所做的校驗工作少,所以效率比stream高

呼叫socket()函式建立乙個用於通訊的套接字

買了個手機

給已經建立的套接字繫結乙個埠號,一般通過設定網路套介面位址和呼叫bind()函式來實現

辦張手機卡,插上手機卡

呼叫listen()函式使套接字成為乙個監聽套接字

等待來電

呼叫accept()函式來接受客戶端的連線,這時就可以和客戶端通訊

接聽到了打來的**

處理客戶端的連線請求

接通**聽、說溝通

終止連線

結束通話**

呼叫socket()函式建立乙個用於通訊的套接字

買了個手機

通過設定套接字位址結構,說明客戶端與之通訊的伺服器的ip位址和埠號

輸入對方手機號

呼叫connect()函式來建立與伺服器的連線

撥號,並等接聽

呼叫讀寫函式傳送或接收資料

說話、聽話

終止連線

結束通話**

socket程式設計

一直以為serversocket accept之後客戶端才能發資訊,實驗後得出如下結論 1 serversocket沒有accept時,client是可以傳送資訊到server端的。2 serversocket accept之後,正在處理訊息時,client也是可以傳送資訊到server端。如果se...

Socket程式設計

對tcp ip udp socket程式設計這些詞你不會很陌生吧?隨著網路技術的發展,這些詞充斥著我們的耳朵。那麼我想問 1.什麼是tcp ip udp?2.socket在 呢?3.socket是什麼呢?4.你會使用它們嗎?什麼是tcp ip udp?tcp ip transmission cont...

socket程式設計

建立socket 建立乙個 socket,它可用於在基於 tcp ip 的網路 如 internet 上通訊。socket s new socket addressfamily.internetwork,sockettype.stream,protocoltype.tcp 若要使用 udp 而不是 ...