C/C++使用socket实现server和client
生活随笔
收集整理的這篇文章主要介紹了
C/C++使用socket实现server和client
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Server代碼
#include <winsock2.h> #include <stdio.h> #pragma comment (lib,"ws2_32")int main(int argc,char *argv[]) {WSADATA wsaData;WSAStartup(MAKEWORD(2,2),&wsaData);//初始化SOCKET s = socket(PF_INET,SOCK_STREAM,IPPROTO_TCP);sockaddr_in sockaddr;sockaddr.sin_family = PF_INET;sockaddr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");sockaddr.sin_port = htons(234);bind(s,(const struct sockaddr *)&sockaddr,sizeof(sockaddr));//在本地綁定234端口listen(s,1);//開始監(jiān)聽//wait for connectionSOCKET client;int nsize = sizeof(SOCKADDR);SOCKADDR clientAddr;printf("wait for connection...\n");client = accept(s,&clientAddr,&nsize);//等待客戶端連接//start send messageprintf("start to send msg...\n");send(client,"hello",5,NULL);closesocket(client);closesocket(s);WSACleanup();return 0; }Client代碼
#include <winsock2.h> #include <stdio.h> #pragma comment (lib,"ws2_32")int main(int argc,char *argv[]) {WSADATA wsaData;WSAStartup(MAKEWORD(2,2),&wsaData);//初始化SOCKET s = socket(PF_INET,SOCK_STREAM,IPPROTO_TCP);sockaddr_in sockaddr;sockaddr.sin_family = PF_INET;sockaddr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");sockaddr.sin_port = htons(234);//設置要連接的IP和端口connect(s,(SOCKADDR*)&sockaddr,sizeof(SOCKADDR));//tcp連接char buffer[200] = {0};recv(s,buffer,200,NULL);//printf("response:%s\n",buffer);WSACleanup();return 0; } 《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的C/C++使用socket实现server和client的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++中的栈操作
- 下一篇: C/C++实现sleep函数