日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

建立简单的套接字

發布時間:2023/12/9 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 建立简单的套接字 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近發現學計算機的真的要好好做筆記啊。。。前兩天有個學長的聊天工具我是知道沒有初始化套接字,可是一時竟然忘記了加載版本庫的那幾行代碼,真是汗。。。硬是回來看自己的程序才知道。。。

今晚復習了一下套接字的建立

有服務端和客服端兩個部分

服務端的步驟一般為

1、初始化套接字版本

1 //初始化版本 2 WSADATA wsadata; 3 WORD ver=MAKEWORD(2,2); 4 int err; 5 if((err=WSAStartup (ver,&wsadata))=!0) 6 { 7 return ; 8 } 9 if(LOBYTE(wsadata.wVersion)!=2||HIBYTE(wsadata.wVersion)!=2) 10 { 11 WSACleanup(); 12 return; 13 }

2、創建套接字

3、綁定

4、監聽

5、接收

具體代碼如下:

1 #include<iostream> 2 #include<afx.h> 3 #include<winsock.h> 4 int main() 5 { 6 //初始化版本 7 WSADATA wsadata; 8 WORD ver=MAKEWORD(2,2); 9 int err; 10 if((err=WSAStartup (ver,&wsadata))=!0) 11 { 12 return ; 13 } 14 if(LOBYTE(wsadata.wVersion)!=2||HIBYTE(wsadata.wVersion)!=2) 15 { 16 WSACleanup(); 17 return; 18 } 19 20 SOCKET sever; 21 sever=socket(AF_INET,SOCK_STREAM,0); 22 SOCKADDR_IN sever_in; 23 sever_in.sin_family=AF_INET; 24 sever_in.sin_port=htons(1024); 25 sever_in.sin_addr.S_un.S_addr=htonl(INADDR_ANY); 26 bind(sever,(SOCKADDR*)&sever_in,sizeof(sever_in)); 27 listen(sever,2); 28 29 30 SOCKET client; 31 32 33 client=accept(sever,0,0); 34 if(client==INVALID_SOCKET) 35 { 36 std::cout<<"連接失敗!"<<std::endl; 37 } 38 39 else 40 std::cout<<"連接成功!"<<std::endl; 41 return 0; 42 }

客戶端代碼:

1 #include<iostream> 2 #include<afx.h> 3 #include<winsock.h> 4 int main() 5 { 6 WSADATA wsdata; 7 WORD ver=MAKEWORD(2,2); 8 int err; 9 if((err=WSAStartup (ver,&wsdata))=!0) 10 { 11 return 0; 12 } 13 if(LOBYTE(wsdata.wVersion)!=2||HIBYTE(wsdata.wVersion)!=2) 14 { 15 WSACleanup(); 16 return 0; 17 } 18 SOCKET client; 19 client=socket(AF_INET,SOCK_STREAM ,0); 20 SOCKADDR_IN client_in; 21 client_in.sin_family=AF_INET; 22 client_in.sin_port=htons(1024); 23 client_in.sin_addr.S_un.S_addr=inet_addr("127.0.0.1"); 24 if(connect(client,(SOCKADDR*)&client_in,sizeof(client_in))==0) 25 { 26 std::cout<<"連接成功"<<std::endl; 27 } 28 return 0; 29 }

?

就可以連上了

轉載于:https://www.cnblogs.com/newworldcom/p/3484660.html

總結

以上是生活随笔為你收集整理的建立简单的套接字的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。