程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> VC >> vc教程 >> vc用於網絡編程

vc用於網絡編程

編輯:vc教程

首先建議讀者明白網絡、IP地址、協議等概念。應用層協議TeLnet,FTP,HTTP,DNS,SMTP,POP3等。傳輸層協議TCP(面向連接、可靠),UDP(無連接不可靠)。UDP實時性好,故廣泛使用.網絡層協議IP,ICMP(互聯網控制報文協議),IGMP(Internet組管理協議).

數據封裝:每一層都會加上自己的信息頭或者稱為協議頭.有的層也會加入尾部.傳輸可以看成為一個在發送端不斷封裝,接受端不斷解封.

端口:TCP/IP協議提出了端口概念,包括數據結構和I/O緩沖區.用一個整數型標識符來表示,用16位表示,從0~65534,我們應用程序使用1024以上的端口號.

套接字Socket:應用程序訪問通信協議的一種操作系統調用,用於快速方便的開發網絡程序.Windows Sockets只支持一個通信區域(AF_INET),這個域被使用網際協議通信區域通信的進程所使用.注意:基於Intel的CPU采用低位先存格式,而TCP/IP協議采用高位先存格式.

Windows Sockets提高了很多異步函數供我們使用.可以使用任何底層傳輸協議提高的通信能力.其類型包括:流式套接字(基於tcp實現),數據報式套接字(基於udp),還有一種原始套接字.

基於tcp的套接字編程步驟:

clIEnt
1.創建一個套接字.
2.向服務器發請求(connect).
3.和服務器通信.
4.關閉套接字.
server
1.創建套接字.(socket)
2.將套接字邦定到本地地址和端口上(bind)
3.套接字監聽(listen)
4.收到客戶端請求,返回一個新的對應於此次連接的套接字(accept)

其中包括了客戶端的相關信息.
5.用返回的套接字和客戶端進行通信(send/recv);
6.返回,監聽等待另一個用戶.
7.關閉套接字.
基於udp的套接字編程步驟:
sender:
1.創建Socket;
2.向服務器發送消息(sendto);
3.關閉套接字.
receiver:
1.創建Socket;
2.綁定到本地地址端口(listen);
3.接受數據(recvfrom);
4.關閉套接字.

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved