這一節是計算機網路作業,windows socket程式設計,老師電腦上開乙個伺服器程式,公開ip位址和埠號,我們同學自己編寫乙個客戶端,能與老師的伺服器建立聯絡,兩者能收發即可。這樣的**網上很多,而是就採用了孫鑫vc++第14講的**,下面是新增的一點簡單注釋。
其實socket完成連線功能很簡單,依葫蘆畫瓢即可。首先來看面向連線的tcp流程圖。
面向無連線的udp流程更加簡單,如下所示:
現在用tcp協議來完成任務,下面是孫鑫老師的**,由於我們要提前測試自己的**,所以也用了伺服器端的**,伺服器端端server**如下:
1 #include 2 #include 3客戶端client的**如下:4void
main()517
1819
if ( lobyte( wsadata.wversion ) != 1 ||
20 hibyte( wsadata.wversion ) != 1
) 24
2526
//真正socket程式設計部分
27 socket socksrv=socket(af_inet,sock_stream,0);//
面向連線的可靠性服務sock_stram
2829 sockaddr_in addrsrv;//
存放本地位址資訊的
30 addrsrv.sin_addr.s_un.s_addr=htonl(inaddr_any);//
htol將主機位元組序long型轉換為網路位元組序
31 addrsrv.sin_family=af_inet;
32 addrsrv.sin_port=htons(6001);//
htos用來將埠轉換成字元,1024以上的數字即可
3334 bind(socksrv,(sockaddr*)&addrsrv,sizeof(sockaddr));//
將socket繫結到相應位址和埠上
3536 listen(socksrv,5);//
等待佇列中的最大長度為5
3738
sockaddr_in addrclient;
39int len=sizeof
(sockaddr);
4041
while(1)42
54 }
1 #include 2 #include 3模擬執行結果如下:4void
main()517
1819
if ( lobyte( wsadata.wversion ) != 1 ||
20 hibyte( wsadata.wversion ) != 1
) 24
25//
建立通訊socket
26 socket sockclient=socket(af_inet,sock_stream,0
);27
28sockaddr_in addrsrv;
29 addrsrv.sin_addr.s_un.s_addr=inet_addr("
192.168.1.24
");//
設定需要連線的伺服器的ip位址
30 addrsrv.sin_family=af_inet;
31 addrsrv.sin_port=htons(6001);//
設定需要連線的伺服器的埠位址
32 connect(sockclient,(sockaddr*)&addrsrv,sizeof(sockaddr));//
與伺服器進行連線
3334
//接受來自老師的資訊
35char recvbuf[100
];36 recv(sockclient,recvbuf,100,0
);37 printf("
來自老師的資訊:\n%s\n
",recvbuf);
3839
//傳送資訊給老師
40 send(sockclient,"
",strlen("
")+1,0
);41
42closesocket(sockclient);
43wsacleanup();
44 }
WinSocket簡單程式設計實驗
這一節是計算機網路作業,windows socket程式設計,老師電腦上開乙個伺服器程式,公開ip位址和埠號,我們同學自己編寫乙個客戶端,能與老師的伺服器建立聯絡,兩者能收發即可。這樣的 網上很多,而是就採用了孫鑫vc 第14講的 下面是新增的一點簡單注釋。其實socket完成連線功能很簡單,依葫蘆...
WinSocket簡單程式設計實驗
這一節是計算機網路作業,windows socket程式設計,老師電腦上開乙個伺服器程式,公開ip位址和埠號,我們同學自己編寫乙個客戶端,能與老師的伺服器建立聯絡,兩者能收發即可。這樣的 網上很多,而是就採用了孫鑫vc 第14講的 下面是新增的一點簡單注釋。其實socket完成連線功能很簡單,依葫蘆...
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...