#include <Winsock2.h>
#include <stdio.h>
#include <windows.h>
#include <iostream.h>
void main()
{
//cout<<"ok";
//使用的Winsock版本号;
WORD wVersionRequested;
//存放windows socket初始化信息;
/* typedef struct WSAData
{
WORD wVersion;
WORD wHighVersion;
char szDescription[WSADESCRIPTION_LEN +1];
char szSystemStatus[WSASYS_STATUS_LEN +1];
unsigned short iMaxSockets;
unsigned short iMaxUdpDg;
char Far* lpVendorInfo;
}
*/
WSADATA wsaData;
int err;
//1.1版本的套接字 用宏MAKEWORD(x,y)方法来获得版本号,其中x是高位字节,y是低位字节;
wVersionRequested = MAKEWORD( 1, 1 );
//通过WSAStartup(WORD ,LPWSADATA*)加载Winsock套接字库,加载失败则返回 ;
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
return;
}
//判断是否为1.1版本,如果不是1.1则退出 ;
if ( LOBYTE( wsaData.wVersion ) != 1 || HIBYTE( wsaData.wVersion ) != 1 ) {
WSACleanup( );
return;
}
/*
* 创建Serversocket(int af,int type,int protocol) 主套接字
* ( AF_INET(IPv4 协议的地址族),
* SOCK_STREAM(TCP/IP 协议的套接字类型,
* 协议值为0
* );
*/
SOCKET sockServer = socket(AF_INET,SOCK_STREAM,0);
/*
* 地址结构信息:
* INADDR_ANY 特殊ip
* AF_INET 协议族
* 绑定端口号6000;
*/
SOCKADDR_IN addrServer;
addrServer.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
addrServer.sin_family=AF_INET;
addrServer.sin_port=htons(6000);
//绑定:将套接字绑定到已知地址SOCKADDR_IN 上;
bind(sockServer,(SOCKADDR *)&addrServer,sizeof(SOCKADDR));
listen(sockServer,5);
//从套接字地址结构信息;
SOCKADDR_IN sockClient;
int IClientSockLen=sizeof(SOCKADDR);
//从套接字接收信息并进行通信;
while(1){
SOCKET sockConn;
sockConn=accept(sockServer,(SOCKADDR *)&sockClient,&IClientSockLen);
//实现数据通信功能,要等待客户机发送数据来;
char buff[50];
while(true){
ZeroMemory(buff,50);
//接收通信数据并打印到屏幕上;
recv(sockConn,buff,50,0);
cout<<"CLIENT : "<<buff<<endl;
//cout<<endl;
/*int i=0;
while(buff[i]!='\0'){
cout<<buff[i];
i++;
}*/
//发送回复信息给客户端;
ZeroMemory(buff,50);
char n;
int t=0;
while((n=getchar())!='\n'){
buff[t]=n;
t++;
}
//bf[t++]='\0';
//memcpy(buff,bf,t);
send(sockConn,buff,t,0);
}
//通信完成,关闭套接字;
closesocket(sockConn);
}//while
//通信结束,关闭主套接字,中止Windows Sockets DLL的使用;
closesocket(sockServer);
WSACleanup();
}//main
没有合适的资源?快使用搜索试试~ 我知道了~
TCP/IP通信程序源代码
共26个文件
pdb:4个
dsw:2个
exe:2个
4星 · 超过85%的资源 需积分: 35 59 下载量 76 浏览量
2008-11-19
15:10:08
上传
评论 1
收藏 2.37MB RAR 举报
温馨提示
一个简单的tcp\ip程序,C++源代码,已调试通过,可在两台机器上进行通信,只需改动ip 即可
资源推荐
资源详情
资源评论
收起资源包目录
TCPIP.rar (26个子文件)
TCPIP
CHATSERVER
CHATSERVER.dsp 4KB
CHATSERVER.dsw 526B
Debug
SERVER.obj 16KB
vc60.pdb 84KB
CHATSERVER.pdb 401KB
vc60.idb 145KB
CHATSERVER.pch 3.53MB
CHATSERVER.exe 200KB
CHATSERVER.ilk 231KB
CHATSERVER.plg 1KB
SERVER.CPP 3KB
CHATSERVER.ncb 41KB
CHATSERVER.opt 53KB
CHATCLIENT
CHATCLIENT.opt 53KB
CLIENT.CPP 2KB
CHATCLIENT.ncb 41KB
CHATCLIENT.dsw 526B
CHATCLIENT.dsp 4KB
CHATCLIENT.plg 1KB
Debug
vc60.pdb 84KB
vc60.idb 145KB
CHATCLIENT.pch 3.53MB
CHATCLIENT.pdb 401KB
CHATCLIENT.ilk 229KB
CHATCLIENT.exe 200KB
CLIENT.obj 16KB
共 26 条
- 1
sugar8763
- 粉丝: 3
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页