基于TCP的服务器端程序示例
2012-12-14 14:48
232 查看
#include <WinSock2.h> #include <stdio.h> #pragma comment(lib,"ws2_32.lib") /************************************************************************/ /* socket编程示例 基于TCP的服务器端程序 TcpSrv.cpp */ /************************************************************************/ void main() { //加载套接字库 WORD wVersionRequested;//保存winsock库的版本号 WSADATA wsaData; int err; wVersionRequested = MAKEWORD(1,1);//创建一个包含了请求版本号的WORD值 err = WSAStartup(wVersionRequested,&wsaData);//加载套接字库 if ( err !=0) { return; } if (LOBYTE(wsaData.wVersion) !=1 || //判断是否是所请求的版本号 HIBYTE(wsaData.wVersion) !=1) { WSACleanup();//终止对WINSOCK库的使用并返回 return; } //创建用于监听的套接字 SOCKET sockSvr=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(sockSvr,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR)); //将套接字设为监听模式,准备接收客户请求 listen(sockSvr,5); SOCKADDR_IN addrClient; int len=sizeof(SOCKADDR); while (1) { //等待客户请求到来 SOCKET cockConn = accept(sockSvr,(SOCKADDR*)&addrClient,&len); char sendBuf[100]; sprintf(sendBuf,"welcome %s to http",inet_ntoa(addrClient.sin_addr));//inet_ntoa返回一个点分十进制的IP字符串 //发送数据 send(cockConn,sendBuf,strlen(sendBuf)+1,0); char recvBuf[100]; //recvie data recv(cockConn,recvBuf,100,0); printf("%s\n",recvBuf); //close closesocket(cockConn); } }
相关文章推荐
- C语言编写基于TCP和UDP协议的Socket通信程序示例
- C语言编写基于TCP和UDP协议的Socket通信程序示例
- 使用C#实现基于TCP和UDP协议的网络通信程序的基本示例
- 一个简单的基于node.js的TCP服务器和基于C++的TCP客户端通信示例程序
- 基于TCP的客户端程序示例
- 基于android示例程序(bitmapfun) 高效加载图片让人无语地方
- TCP 客户/服务器程序示例
- VS2012下基于Glut OpenGL绘制虚线示例程序:
- Linux Linux函数 Linux聊天程序 基于socket的TCP(有连接的)聊天程序
- 基于TCP/IP的手机聊天游戏(附带源码和解释)之服务器端类
- 基于TCP网络通信的自动升级程序源码分析-客户端请求服务器上的升级信息
- 微信小程序基于slider组件动态修改标签透明度的方法示例
- 基于Eclipse开发环境的搭建及HelloAndroid示例程序的创建
- Hadoop编程基于MR程序实现倒排索引示例
- 基于TCP/IP的简单的聊天程序
- Android第二天--基于Snake的示例建立和运行程序
- Java Socket编程 - 基于TCP方式的客户服务器聊天程序
- 基于Struts2.3.x+Spring3.2.x+Hibernate4.2.x+EasyUI1.3.4+Maven架构的示例程序
- 网络编程-TCP服务器端程序和客户端程序