socket網路程式設計的初學使用見解

2021-06-19 07:30:44 字數 1232 閱讀 2863

所謂socket通常也稱作"套接字",應用程式通常通過"套接字"向網路發出請求或者應答網路請求。

根據連線啟動的方式以及本地

套接字要連線的目標,

套接字之間的連線過程可以分為三個步驟:

伺服器監聽,

客戶端請求,連線確認。

伺服器監聽:是

伺服器端

套接字並不定位具體的

客戶端套接字,而是處於等待連線的狀態,實時監控網路狀態。

客戶端請求:是指由

客戶端的

套接字提出連線請求,要連線的目標是

伺服器端的套接字。為此,

客戶端的

套接字必須首先描述它要連線的

伺服器的套接字,指出

伺服器端套接字的

位址和埠號,然後就向

伺服器端套接字提出連線請求。

連線確認:是指當

伺服器端

套接字監聽到或者說接收到

客戶端套接字的連線請求,它就響應

客戶端套接字的請求,建立乙個新的執行緒,把

伺服器端套接字的描述發給

客戶端,一旦客戶端確認了此描述,連線就建立好了。而

伺服器端

套接字繼續處於

監聽狀態,繼續接收其他

客戶端套接字的連線請求。

以下**是實現socket客戶端,希望對初學者有可以借鑑的地方,不足的地方還**以指正,互相學習。

#include

#include

#inlcude

//ip與埠

#define server_address "127.0.0.1"

#define port

10086

#define maxsize

32//加入靜態庫

#pragma comment(lib,"ws2_32.lib")

/*傳送訊息給服務端執行緒*/

dword winapi mysendthread(lpvoid pvaram)

//關閉套接字

closesocket(sendclient); }

/*主函式*/

int main()

printf("recived:%s\n",buffout);

}//釋放連線和結束工作

closesocket(sclient);

closehandle(hthread);

wsacleanup();

return 0;

}

初學socket程式設計(網路程式設計)

tcp 是面向連線的,三次握手成功之後才能通訊,位元組流傳輸,效率低於udp,但是安全性高 因為採用了三次握手和四次揮手協議 雙方需要建立連線才能通訊 傳送資料 底層使用tcp協議,tcp底層是用http協議。tcp三次握手四次揮手示意圖 tcp通訊實現 先建立伺服器端 tcp協議服務端 publi...

初學socket程式設計

做專案經查遇到socket 套接字 的地方,業務的地方大部分直接呼叫介面,讀取到內容後再返回給介面就ok了,但學習要深究其原理,因此決定學習下socket相關的內容,該文章參考了下面這位大佬的文章,不做搬運工,寫下自己的理解 linux上通訊和通訊協議tcp中的三次握手沒有直接聯絡,學習學的三次握手...

網路程式設計 Socket程式設計

一 網路部分 1.ip 2.埠號 在網路協議中使用埠號識別主機上不同的程序,不同的埠對應於不同的服務 應用程式 3.協議 tcp二 socket部門socket通訊基本流程圖 根據socket通訊基本流程圖,總結通訊的基本步驟 伺服器端 第一步 建立乙個用於監聽連線的socket對像 第二步 用指定...