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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

孙鑫网络编程code

發布時間:2024/1/1 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 孙鑫网络编程code 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

服務器端

/*基于TCP面向連接的 服務器*/ #include <iostream> #include <WinSock2.h> #include <stdlib.h> #include <Ws2tcpip.h> #pragma comment(lib,"Ws2_32.lib") //使用動態鏈接庫用到 using namespace std; #define _WINSOCK_DEPRECATED_NO_WARNINGS void main() {//加載套接字 WORD wVersionRequested;WSADATA wsaData;int err;wVersionRequested = MAKEWORD(1, 1);err = WSAStartup(wVersionRequested, &wsaData);if (err != 0){return;}if (LOBYTE(wsaData.wVersion) != 1 || HIBYTE(wsaData.wVersion) != 1){WSACleanup(); //關閉套接字return;}//創建用于監聽的套接字 SOCKET sockSrv = socket(AF_INET, SOCK_STREAM, 0); //0自動選擇協議SOCKADDR_IN addrSrv;addrSrv.sin_addr.S_un.S_addr = htonl(INADDR_ANY);addrSrv.sin_family = AF_INET;addrSrv.sin_port = htons(6000);//綁定套接字 bind(sockSrv, (SOCKADDR*)&addrSrv, sizeof(SOCKADDR));//將套接字設置為監聽模式 listen(sockSrv, 5);SOCKADDR_IN addrClient; //調用accept的時候先定義一個地址結構體的變量,用來接收客戶端的地址信息int len = sizeof(SOCKADDR);while (1) //服務器應該永遠等待為客戶端服務{//等待客戶的請求到來 SOCKET sockConn = accept(sockSrv, (SOCKADDR*)&addrClient, &len);char sendBuf[100]; ////char sendBuf[20] = {'\0'};//inet_ntop(AF_INET,(void*)&addr2.sin_addr,sendBuf,16);sprintf_s(sendBuf, 100, "Welcome %s to www.sunxin.org", inet_ntop(AF_INET,&addrClient.sin_addr,sendBuf,16));//調用sprintf將一個數據格式化到buffer當中 //取地址//發送數據 send(sockConn, sendBuf, strlen(sendBuf) + 1, 0);char recvBuf[100]; //用來接收的字符數組//接受數據 recv(sockConn, recvBuf, 100, 0);//打印接受的數據 printf("%s\n", recvBuf);//關閉套接字 closesocket(sockConn);} }
客戶端

/*基于TCP面向連接的 客戶端*/ #include <iostream> #include <WinSock2.h> #include <stdlib.h> #include <Ws2tcpip.h> #pragma comment(lib,"Ws2_32.lib") //使用動態鏈接庫用到 using namespace std; #define _WINSOCK_DEPRECATED_NO_WARNINGS void main() {//加載套接字 WORD wVersionRequested;WSADATA wsaData;int err;wVersionRequested = MAKEWORD(1, 1);err = WSAStartup(wVersionRequested, &wsaData);if (err != 0){return;}if (LOBYTE(wsaData.wVersion) != 1 || HIBYTE(wsaData.wVersion) != 1){WSACleanup(); //關閉套接字return;}SOCKET sockClient = socket(AF_INET, SOCK_STREAM, 0);//創建套接字SOCKADDR_IN addrSrv;struct in_addr s; // IPv4地址結構體inet_pton(AF_INET, "127.0.0.1", (void*)&addrSrv.sin_addr.S_un.S_addr);//addrSrv.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");addrSrv.sin_family = AF_INET;addrSrv.sin_port = htons(6000);connect(sockClient, (SOCKADDR*)&addrSrv, sizeof(SOCKADDR));char recvBuf[100];recv(sockClient, recvBuf, 100, 0);printf("%s\n", recvBuf);send(sockClient, "This is zhangsan", strlen("This is zhangsan")+1,0);closesocket(sockClient);WSACleanup();//終止對套接字庫的使用}

總結

以上是生活随笔為你收集整理的孙鑫网络编程code的全部內容,希望文章能夠幫你解決所遇到的問題。

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