所謂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對像 第二步 用指定...