//////////////////////////////////////////////////////////////////////////
// TCPServer.cpp
#include <stdio.h>
#include <WINSOCK2.H>
#pragma comment(lib,"WS2_32.lib")
#define BUF_SIZE 64 // 缓冲区大小
int main(void)
{
WSADATA wsd; // WSADATA变量
SOCKET sServer; // 服务器套接字
SOCKET sClient; // 客户端套接字
int retVal; // 返回值
char buf[BUF_SIZE]; // 接受数据
// 初始化套接字动态库
ZeroMemory(buf,BUF_SIZE);
if(WSAStartup(MAKEWORD(2,2),&wsd) != 0)
{
printf("WSAStartup failed !\n");
return 1;
}
// 创建套接字
sServer = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(INVALID_SOCKET == sServer)
{
printf("socket failed !\n");
WSACleanup();
return -1;
}
// 服务器套接字地址
SOCKADDR_IN addrServ;
addrServ.sin_family = AF_INET;
addrServ.sin_port = htons(4999);
addrServ.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
// 绑定套接字
retVal = bind(sServer,(const struct sockaddr*)&addrServ,sizeof(SOCKADDR_IN));
if(SOCKET_ERROR == retVal)
{
printf("bind failed !\n");
closesocket(sServer);
WSACleanup();
return -1;
}
// 监听套接字
retVal = listen(sServer,1);
if(SOCKET_ERROR == retVal)
{
printf("listen failed !\n");
closesocket(sServer);
WSACleanup();
return -1;
}
// 接受客户请求
sockaddr_in addrClient;
int addrClientlen = sizeof(addrClient);
sClient = accept(sServer,(sockaddr FAR*)&addrClient,&addrClientlen);
if(INVALID_SOCKET == sClient)
{
printf("accept failed !\n");
closesocket(sServer);
WSACleanup();
return -1;
}
// 接受客户数据
retVal = recv(sClient,buf,BUFSIZ,0);
if(SOCKET_ERROR == retVal)
{
printf("recv failed !\n");
closesocket(sServer);
closesocket(sClient);
WSACleanup();
return -1;
}
// 退出程序
printf("Recv From Client:%s\n",buf);
retVal = send(sClient,"Hello World !",strlen("Hello World !"),0);
if(SOCKET_ERROR == retVal)
{
printf("send failed !\n");
closesocket(sServer);
closesocket(sClient);
WSACleanup();
return -1;
}
// 退出程序
closesocket(sServer);
closesocket(sClient);
WSACleanup();
return 0;
}
没有合适的资源?快使用搜索试试~ 我知道了~
C++ Socket Hello World
共14个文件
exe:2个
dsw:2个
opt:2个
4星 · 超过85%的资源 需积分: 9 122 下载量 121 浏览量
2009-09-15
21:45:07
上传
评论 1
收藏 66KB RAR 举报
温馨提示
C++ Socket Hello World By Koma http://blog.csdn.net/wangningyu
资源推荐
资源详情
资源评论
收起资源包目录
C++ Socket Hello World.rar (14个子文件)
TCPClient
TCPClient.dsp 4KB
TCPClient.ncb 41KB
TCPClient.opt 53KB
TCPClient.cpp 1KB
Debug
TCPClient.exe 168KB
TCPClient.plg 1KB
TCPClient.dsw 543B
TCPServer
TCP.ncb 41KB
TCP.plg 240B
tcp.cpp 2KB
Debug
TCP.exe 168KB
TCP.dsp 4KB
TCP.opt 53KB
TCP.dsw 531B
共 14 条
- 1
资源评论
- sengeiou2012-12-17很好能运行 谢啦
- tyty50737762018-01-27能运行 谢谢
汪宁宇
- 粉丝: 749
- 资源: 42
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功