前言:
注:
以下**都以c++環境為例
一.windows socket 基礎
windows socket dll的初始化和釋放函式的呼叫方法
windows socket 網路程式設計思路標頭檔案:1.初始化 windows socket
2.建立socket
3.將socket與位址結構繫結
4.傳送/接收資料
5.釋放socket
6.終止windows socket
socket常用函式和資料結構:
//windows socket 的初始化和終止
wsastartup
wsacleanup
//建立和釋放socket
socket
closesocket
//繫結socket和位址結構
bind
listen
accept
connetc
sockaddr
sockaddr_in
in_addr
//傳送, 接收資料
send
sendto
recv
recvfrom
#include #include寫在主函式中(寫在main()中的引數):#pragma comment(lib,"ws2_32.lib")
wsadata wsadata;或者寫成:::wsastartup(makeword(
2,2),&wsadata);
word sockversion = makeword(2, 2);
wsadata data;
if (wsastartup(sockversion, &data) != 0)
return 1;
登出函式wsacleanup
::wsacleanup();或者:
wsacleanup();原型:
socket socket(int af, int type, int protocol);//這裡定義名稱為小寫socket
建立tcp套接字:
socket sock = socket(af_inet, sock_stream, 0);或者:
socket clientsocket =socket(af_inet, sock_stream, ipproto_tcp);結果:if (clientsocket ==invalid_socket)
socket clientsocket =socket(af_inet, sock_stream, ipproto_tcp);
closesocket(clientsocket);
wsacleanup();
return0;
}
因為只是建立了套接字,關閉套接字,所以程式直接退出
(待續)
reference
[winsocket程式設計]
WinSocket程式設計筆記(五)
三.udp的socket程式設計 先前的socket伺服器端與客戶端需要建立連線才能通訊,因此是面向連線的基於tcp的socket。而這裡的基於udp的socket是面向無連線的,也就是說不必呼叫 listen 和 accept 函式,那麼connect 函式也就一樣沒有使用的必要了。udp新增的函...
WinSocket程式設計筆記(三)
二.kerberos協議的實現 現有alice as tgs bob,實現alice和bob的安全金鑰交換 這裡只實現alice和as之間的通訊 我把各個部分的 拆開來寫 1.隨機會話金鑰生成 include include using namespace std intmain 2.加密演算法 i...
winsocket程式設計例項
include include void main if lobyte wsadata.wversion 1 hibyte wsadata.wversion 1 socket socksrv socket af inet,sock stream,0 sockaddr in addrsrv addrs...