/******************************************
** 文件名称:socketserver.cpp **
** 功 能:服务器程序 **
** 作 者:唐天明 **
** 日 期:2008-11-14 **
******************************************/
#include <iostream>
using namespace std;
#include <winsock2.h>
#pragma comment( lib, "ws2_32.lib" )
const int serverport = 4444; //定义服务器端口
const int maxsize = 100; //定义每次最大传输量
const char * addr_ip = "192.168.17.31";
int main()
{
int serversockfd; //定义描述符
int clintsockfd;
char buf[maxsize]; //定义缓存区
int recvflag,sendflag; //定义接收和发送标志
sockaddr_in serversocket; //定义服务器socket
sockaddr_in clintsocket; //定义客户端socket
WSADATA wsadata;
int sin_size;
//初始化库
if (WSAStartup(MAKEWORD(1, 1),&wsadata)!=0)
{
cout <<"初始化error" <<endl;
WSACleanup();
exit(0);
}
else
{
cout <<"初始化成功" <<endl;
}
//创建套接字并初始化
if ((serversockfd = socket(AF_INET,SOCK_STREAM,0))==INVALID_SOCKET)
{
cout <<"创建套接字失败!!" <<endl;
WSACleanup();
exit(0);
}
else
{
cout <<"创建套接字成功!!" <<endl;
}
serversocket.sin_family = AF_INET;
serversocket.sin_port = htons(serverport);
serversocket.sin_addr.S_un.S_addr = INADDR_ANY;
//memcpy(&serversocket.sin_addr,&serversocket, sizeof(serversocket));
memset( & ( serversocket.sin_zero ), 0, sizeof( serversocket.sin_zero ));
//绑定
if (bind(serversockfd,(struct sockaddr *)&serversocket,sizeof( struct sockaddr))==-1)
{
cout <<"绑定失败!!" <<endl;
WSACleanup();
exit(0);
}
else
{
cout <<"绑定成功!!" <<endl;
}
//listen调用
if (listen(serversockfd,10)==-1)
{
cout <<"listen 调用失败!!"<<endl;
WSACleanup();
exit(0);
}
else
{
cout <<"listen 调用成功!!"<<endl;
}
//调用accept接收
sin_size = sizeof( struct sockaddr_in );
clintsockfd = accept(serversockfd,( struct sockaddr * )&clintsocket,&sin_size);
if (clintsockfd==-1)
{
cout <<"accept 调用失败!!" <<endl;
WSACleanup();
exit(0);
}
else
{
cout <<"accept 调用成功!!" <<endl;
}
char * aaa;
//发送消息
sendflag = send(clintsockfd,"服务器发送数据了。",100,0);
if (sendflag==-1)
{
cout <<"服务器发送失败!" <<endl;
// WSACleanup();
// exit(0);
}
else
{
cout <<"服务器发送成功!!" <<endl;
}
//接收信息
recvflag = recv(clintsockfd,buf,maxsize,0);
if (recvflag==-1)
{
cout <<"服务器接受失败!!" <<endl;
// WSACleanup();
// exit(0);
}
else
{
cout <<"服务器接收成功,内容:"<<buf <<endl;
}
closesocket(clintsockfd);
WSACleanup();
return 0;
}
没有合适的资源?快使用搜索试试~ 我知道了~
基于windows下socket API的实现
共26个文件
pdb:4个
dsp:2个
dsw:2个
4星 · 超过85%的资源 需积分: 34 65 下载量 95 浏览量
2008-11-24
14:52:04
上传
评论
收藏 1.33MB RAR 举报
温馨提示
~~~有详细注释~~~~在windows下的socket API 的客户端和服务器下载。可以参考哦。初、中级学者的好资料哦。
资源推荐
资源详情
资源评论
收起资源包目录
Windows socket.rar (26个子文件)
Windows socket
SocketClint
socketclint.dsw 547B
socketclint.ncb 41KB
socketclint.cpp 2KB
socketclint.opt 53KB
socketclint.dsp 3KB
socketclint.plg 256B
Debug
socketclint.ilk 355KB
socketclint.obj 49KB
socketclint.exe 220KB
vc60.idb 193KB
socketclint.pch 1.91MB
vc60.pdb 132KB
socketclint.pdb 545KB
SocketServer
socketserver.cpp 3KB
socketserver.opt 53KB
socketserver.plg 258B
socketserver.ncb 41KB
socketserver.dsp 3KB
socketserver.dsw 549B
Debug
socketserver.exe 220KB
socketserver.obj 52KB
socketserver.ilk 357KB
vc60.idb 185KB
vc60.pdb 132KB
socketserver.pdb 1.02MB
socketserver.pch 1.91MB
共 26 条
- 1
资源评论
- 劉毅LY_LJ2011-09-30基本的服务器、客户端程序,没什么功能呀。。。
- fxy7012012-04-23客户端程序,没什么功能呀
ttm0316
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功