VC 基於TCP 面向連線 的SOCKET程式設計

2021-08-28 15:49:49 字數 726 閱讀 3907

一、伺服器端程式設計

1、建立套接字(socket)。

2、將套接字繫結到乙個本地位址和埠(bind)。

3、將套接字設為監聽模式,準備接收客戶請求(listen)。

4、等待客戶的請求到來,當請求到來後,接收連線請求,返回乙個新的對應於此次連線的套接字(accept)。

5、用返回的套接字和客戶端進行通訊(send/recv)。

6、返回,等待另一客戶請求。

7、關閉套接字。

二、客戶端程式設計

1、建立套接字(socket)。

2、向伺服器發出連線請求(connect)。

3、和伺服器端進行通訊(send/recv)。

4、關閉套接字()。

以上只是從方法上進行闡述,接下來,給出乙個簡單但是具體的例項,慢慢品味,將會有很多收穫。

當伺服器端呼叫accept時,伺服器端就進入等待狀態,等待客戶端呼叫connect,當客戶端呼叫connect時,伺服器端和客戶端就建立了連線,接下來就可以用send/recv進行通訊了。

在客戶端,並不需要呼叫bind函式,因為在伺服器端,我們要接收客戶端的請求,所以我們必須要告訴本地主機,我們打算在哪乙個ip位址上,在哪乙個埠上等待客戶請求,對於客戶端來說,當它發起連線的時候,在伺服器端接收accept這個連線的時候,它同時就儲存了客戶端的ip位址和埠號,所以對於伺服器端來說,一旦建立連線之後,它實際上已經儲存了客戶端的一些資訊,就可以呼叫send/recv和客戶端進行通訊了。

面向業務的SOC

近日,在cisps的論壇上有乙個關於 soc如何更好地貼近業務 的討論。很高興的看到,我提出的soc2.0的理念在業界繼續引發廣泛的思考。其實,大家討論的時候各有各的道理,看似矛盾,實際上大家是站在不同的角度來看待這個命題。事實上,談面向業務的soc,遵循的是乙個自頂向下的思維過程,是站在乙個比較h...

面向連線的傳輸TCP(一)

這篇部落格主要是對計算機網路自頂向上做的閱讀筆記,深入地了解tcp a.tcp是面向連線的,因為乙個程序在向另乙個程序進行資料傳輸之前必須先要握手,即要互相傳送報文,以確認資訊傳輸的引數。並且連線時雙方都要初始化一些引數和狀態變數 b.tcp協議只能在端系統中執行,中間路由器對tcp完全視而不見 c...

基於平台的SoC設計問題

基於平台的soc設計問題 基於平台的方法可提供一種完全整合的通用架構,設計師能夠利用這些共同特點,簡單 快速地開發出soc。而且,通過採用事先設計和特性確定的元件而不是定製設計的方法,有利於加速開發團隊的設計流程,減少逐漸增加的上市時間壓力。把它們應用於多個soc專案,重複使用現有的智財權 ip 模...