C++网络编程(服务端程序)
2016-05-21 11:34
549 查看
#include<WinSock2.h> #include<stdio.h> //加载静态lib文件或者加载动态dll文件 #pragma comment(lib,"ws2_32.lib") void main() { //加载套接字库 WORD wVersionRequested; WSADATA wsaData; int err; //winsock库的版本号 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); 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)); //将套接字设为监听模式,准备接收客户请求。最大连接数为5 listen(sockSrv,5); SOCKADDR_IN addrClient; int len=sizeof(SOCKADDR); while(1) { //等待客户请求到来 SOCKET sockConn=accept(sockSrv,(SOCKADDR *)&addrClient,&len); char sendBuf[100]; sprintf(sendBuf,"Welcome %s to http://www.sunxin.org",inet_ntoa(addrClient.sin_addr)); send(sockConn,sendBuf,strlen(sendBuf)+1,0); char recvBuf[100]; //接收数据 recv(sockConn,recvBuf,100,0); //打印接收的数据 printf("%s\n",recvBuf); //关闭套接字 closesocket(sockConn); } }
相关文章推荐
- [BZOJ 1146] [CTSC2008]网络管理Network
- 终端、网络到服务端(一)从日常vps云服务器的管理看数据包的传输
- Http
- 什么是HTTPS?听大神说https和http有何区别?
- NYOJ 120 校园网络
- TCP/IP协议原理与应用笔记23:路由选择模块 和 路由表的设计
- TCP协议中的三次握手和四次挥手(图解)
- TCP/IP协议原理与应用笔记22:静态和动态路由选择
- [神经网络]从反向传播(BP)到去噪自动编码器(DAE)
- 做网站你需要准备什么?你准备好了吗?【太原网络营销师】
- http 超文本传输协议
- 会话http
- ubuntu 下 Graphviz 的安装及神经网络的绘图
- Coursera机器学习 week5 神经网络的学习 编程作业代码
- HDU 3605 Escape 网络流最大流 合并点
- C#网络编程 (五) 简单端口扫描程序
- 请问人工神经网络中的activation function的作用具体是什么?为什么ReLu要好过于tanh和sigmoid function?
- 图解win7下ping命令使用
- 网络编程,下载视频图片
- Socket小白篇-附加TCP/UDP简介