C++ TCP Server
来源:互联网 发布:中传女被害案 知乎 编辑:程序博客网 时间:2024/06/13 22:36
C++ TCP Server
用C++写网络程序需要winsock2.h这个头文件,还有添加一个ws2_32.lib的lib库.
VC++2005添加Lib库的方法
1 项目- Server属性- 配置属性- 连接器- 附加依赖项
2 #pragma comment(lib,"ws2_32.lib")
3 查找ws2_32.lib文件项目- 添加现有项,将ws2_32.lib作为文件添加到项目中去
为了简单化,暂不进行错误处理
在创建sock之前先要初始化
WSADATA wsaData;
WSAStartup(MAKEWORD(2,2),&wsaData);
创建套接字
SOCKET sockSrv = socket(AF_INET, SOCK_STREAM, 0);
AF_INET是address family internet的缩写
SOCKADDR_IN addrSrv;
SOCKADDR_IN结构包括地址簇,端口号,IP地址,填充位
addrSrv.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
INADDR_ANY表示不限制连接IP
addrSrv.sin_family = AF_INET;
addrSrv.sin_port = htons(1986);
创建TCP程序的步骤
bind(sockSrv,(SOCKADDR *) &addrSrv,sizeof(SOCKADDR));
listen(sockSrv,5);
htonl 是host to network long的缩写
一直等待客户端发送消息
while(true)
{ SOCKET sockConn = accept(sockSrv,(SOCKADDR *)&addrClient,&len);
char sendBuf[100]="服务端发送给客户端";
std::cout<<sendBuf<<endl;
send(sockConn,sendBuf,strlen(sendBuf)+1,0);
char recvBuf[100];
recv(sockConn,recvBuf,100,0);
std::cout<<recvBuf<<endl;
closesocket(sockConn);
}
sendBuf是发送给客户端的数据
recvBuf是接受的到的数据
完成源码
#include <Winsock2.h>
#include <iostream>.
#pragma comment(lib,"ws2_32.lib")
using namespace std;
int main()
{
WSADATA wsaData;
WSAStartup(MAKEWORD(2,2),&wsaData);
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(1986);
cout<<htons(1986);
bind(sockSrv,(SOCKADDR *) &addrSrv,sizeof(SOCKADDR));
listen(sockSrv,5);
SOCKADDR_IN addrClient;
int len = sizeof(SOCKADDR);
while(true)
{
SOCKET sockConn = accept(sockSrv,
(SOCKADDR *) &addrClient,&len);
char sendBuf[100]="服务端发送给客户端";
std::cout<<sendBuf<<endl;
send(sockConn,sendBuf,strlen(sendBuf)+1,0);
char recvBuf[100];
recv(sockConn,recvBuf,100,0);
std::cout<<recvBuf<<endl;
closesocket(sockConn);
}
return 0;
}
在VC++2005下调试通过
原文:http://blog.csdn.net/flyfish1986/article/details/3240814
- tcp server in c
- TCP之server.c
- linux socket tcp Server c语言编写
- Simple TCP Server Client Socket C
- Client-Server C程序示例C (使用 Sockets 和 TCP)
- TCP server
- TCP Server
- tcp-server
- TCP--server
- C socket TCP/UDP client/server example codes
- tcp/ip 程序 (改进版) server.c
- TCP/IP tcp.c
- C#TCP
- C#TCP
- java Tcp Client server
- Indy tcp server
- C++ TCP Server
- vc tcp server 源代码
- 立波育儿百科,在手机上的育儿百科使您随时随地查看别人的育儿心得、专家的精彩讲解,使怀孕、养育孩子成为了一种乐趣
- 【SDOI2008】【link-cut tree】洞穴勘测
- 【转】Java工具类——资源文件解析类PropertiesUtil
- win7 jdk1.7环境变量配置
- 4月11日 GCD 总结(二)
- C++ TCP Server
- HDU 1010 Tempter of the Bone 深度优先搜索(DFS)
- [bxd学习java基本点]13泛型类,泛型方法,当定义二种类型的泛型方法时,用迭代器的方法
- OpenCV中将BGR图像转为HSV,并显示
- linux常用命令——重定向
- 全面解析Ext模板XTemplate(转)
- C++ TCP Client
- GDB的基本用法
- [bx]和loop指令