2021-03-03 分類: 網站建設
如果想要自己寫一個服務器和客戶端,我們需要掌握一定的網絡編程技術,個人認為,網絡編程中最關鍵的就是這個東西——socket(套接字)。
socket(套接字):簡單來講,socket就是用于描述IP地址和端口,是一個通信鏈的句柄,可以用來實現不同虛擬機或不同計算機之間的通信。
TCP協議:是一種面向連接的、可靠的、基于字節流的傳輸層通信協議,由IETF的RFC 793定義。在簡化的計算機網絡OSI模型中,它完成第四層傳輸層所指定的功能。
關鍵詞:三次握手,可靠,基于字節流。
可能有朋友會問,TCP就這么簡單一句話嗎?當然不是,TCP作為非常重要的傳輸協議,細節知識是很多的,細講起來這一篇文章怕是不夠。不過在本篇內容中,我們只需了解他的幾個關鍵詞特性,就能很好的理解下面的內容。
TCP服務器端和客戶端的運行流程
如圖,這是一個完整的TCP服務器——客戶端的運行流程圖,其實我個人認為程序啊,不管哪個語言都是一樣,核心就在于算法的設計和函數的調用。那么圖中的函數都是什么意思呢?
1.創建socket
socket是一個結構體,被創建在內核中
sockfd=socket(AF_INET,SOCK_STREAM,0); //AF_INT:ipv4, SOCK_STREAM:tcp協議
2.調用bind函數
將socket和地址(包括ip、port)綁定。
需要定義一個結構體地址,以便于將port的主機字節序如果無請求,將會阻塞,直到獲得連接
int fd=accept(sockfd, NULL,NULL);//這邊采用默認參數
5.調用read/write進行雙向通信
6.關閉accept返回的socket
當前題目:自己動手用c語言寫一個基于服務器和客戶端
本文鏈接:http://m.newbst.com/news40/103890.html
成都網站建設公司_創新互聯,為您提供小程序開發、網站導航、網站制作、關鍵詞優化、網站營銷、域名注冊
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯
猜你還喜歡下面的內容