客戶機/伺服器模式在操作過程中採用的是主動請求的方式。
1.開啟通訊通道並告知本地機主,它願意在某一位址和埠上接收客戶請求。
2.等待客戶請求到達該埠。
3.接收到重複服務請求,處理該請求並傳送應答訊號。接收到併發服務請求,要啟用乙個新的程序(或執行緒)來處理這個客戶請求。新程序(或執行緒)處理此客戶請求,並不需要對其他請求做出應答。服務完成後,關閉此新程序與客戶的通訊鏈路,並終止。
4.返回第二步,等待另一客戶請求。
5.關閉伺服器。
1.開啟通訊通道,並連線到伺服器所在主機的特定埠。
2.向伺服器傳送服務請求報文,等待並接收應答;繼續提出請求。
3.請求接收後關閉通訊通道並終止。
套接字型別:流式套接字(sock_stream)、資料報套接字(socket_dgram)、原始套接字(sock_raw)。
伺服器端的流程:
1.建立套接字(socket)。
2.將套接字繫結到乙個本地位址和埠上(bind)。
3.將套接字設定為監聽模式,準備接收客戶請求(listen)。
4.等待客戶請求的到來;當請求到來後,接收連線請求,返回乙個新的對應於此次連線的套接字(accept)。
5.用返回的套接字和客戶端進行通訊(send/recv)。
6.返回,等待另乙個客戶的請求。
7.關閉套接字。
客戶端程式流程:
1.建立套接字(socket)。
2.向伺服器發出連線請求(connect)。
3.和伺服器端進行通訊(send/recv)。
4.關閉套接字。
伺服器端(接收端)的流程:
1.建立套接字(socket)。
2.將套接字繫結到乙個本地位址和埠上(bind)。
3.等待接收資料(recvfrom)。
4.關閉套接字。
客戶端(傳送端)程式流程:
1.建立套接字(socket)。
2.向伺服器傳送資料(sendto)。
3.關閉套接字。
歡迎使用CSDN markdow
本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...
歡迎毛毛與妞妞使用CSDN markdown編輯器
建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...
歡迎使用CSDN markdow1n編輯器
本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...