跪求c++网络编程练习题

我正在学网络编程(编程语言是vc),但是书上都是理论的,代码也是不全的,无法达到练习题的目的,网上下的实例又太大了,对我这个新手来说读懂有点难啊,所以求简单点的题目练习用的
题目要求:
1。程序在70行以内最好
2。DOS,MFC 环境均可
3。自已出的,书上找的,还是给我发网站,电子书都行,但是答案一定要完整,能够运行
怕没人答上来分浪费了,答后一定+分
.....vc我已经学过了~~~~控制台的程序还能对付 1楼的兄弟 你没看懂题啊- -
我要的是具体的题,和答案~~ 看好题目要求噢!!

现写的程序,调试可以运行:
tcp
服务器端:

#include "iostream"
#include <winsock2.h>

using namespace std;

#pragma comment(lib,"ws2_32.lib")//载入win32库
#define MAIN_PORT 5500
#define BUFFER_LEN 1024

void main()
{
WSAData wsaData;
WSAStartup(MAKEWORD(2,2),&wsaData);//开启服务

SOCKET ListenSock;
ListenSock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);//初始化监听套接字

sockaddr_in LocalAddr={0};
LocalAddr.sin_family=AF_INET;
LocalAddr.sin_port=htons(MAIN_PORT);
LocalAddr.sin_addr.S_un.S_addr=htonl(INADDR_ANY);

::bind(ListenSock,(sockaddr*)&LocalAddr,sizeof(sockaddr_in));//将监听套接字绑定到本地一端口上

listen(ListenSock,5);//设置最大监听值
cout<<"开始监听!"<<endl;

SOCKET ClientSock; //创建与Client连接套接字
sockaddr_in AptAddr={0};//存储Client的通信地址
int Addrlen=sizeof(sockaddr_in);
cout<<"等待Client端连入!"<<endl;
ClientSock=accept(ListenSock,(sockaddr*)&AptAddr,&Addrlen);//等待对方的连入
cout <<"接收到一条连接!"<<endl;
int RcvLen=0;
char buf[BUFFER_LEN];
while(RcvLen>=0)
{
memset(buf,0,BUFFER_LEN);
RcvLen=recv(ClientSock,buf,BUFFER_LEN,0);
if(RcvLen>0)
cout<<buf<<endl;
}
cout<<"Client 退出!"<<endl;
WSACleanup();

}
客户端:
#include "iostream"
#include <winsock2.h>

using namespace std;

#pragma comment(lib,"ws2_32.lib")//载入win32库
#define MAIN_PORT 5500
#define BUFFER_LEN 1024

void main()
{
WSAData wsaData;
WSAStartup(MAKEWORD(2,2),&wsaData);//开启服务

SOCKET CntSock;
CntSock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);//初始化监听套接字

sockaddr_in CntAddr={0};
CntAddr.sin_family=AF_INET;
CntAddr.sin_port=htons(MAIN_PORT);//服务器开启的端口
CntAddr.sin_addr.S_un.S_addr=inet_addr("192.168.0.27");//服务器的IP地址

while(connect(CntSock,(sockaddr*)&CntAddr,sizeof(sockaddr_in)))//连接服务器
{
cout<<"等待服务器开启"<<endl;
Sleep(50);

}
cout<<"连接上服务器"<<endl;

int RcvLen=0;
char buf[BUFFER_LEN];
memset(buf,0,BUFFER_LEN);

cout<<"输入要发送的内容: ";
cin>>buf;
send(CntSock,buf,strlen(buf),0);//发送
cout<<"发送成功!"<<endl;

while(RcvLen>=0)
{
memset(buf,0,BUFFER_LEN);
RcvLen=recv(CntSock,buf,BUFFER_LEN,0);//接收
if(RcvLen>0)
cout<<buf<<endl;
}
cout<<"服务器退出!"<<endl;
WSACleanup();

}
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-02-10
我个人认为这样的学习方法不是最好的方法,建议你去学习vc6吧,十分简单,随便看个傻瓜教程就能上手,只有上手了,才能做个练习题什么的。
第2个回答  2009-02-10
自己首先做一个TCPSERVER,在做一个TCPCLIENT,建议做一个echo服务的程序
ECHO服务的协议请查看RFC,也算一个锻炼吧
第3个回答  2009-02-10
我正在学网络编程(编程语言是vc),但是书上都是理论的,代码也是不全的,无法达到练习题的目的,网上下的实例又太大了,对我这个新手来说读懂有点难啊,所以求简单点的题目练习用的
题目要求:
1。程序在70行以内最好
2。DOS,MFC 环境均可
3。自已出的,书上找的,还是给我发网站,电子书都行,但是答案一定要完整,能够运行
怕没人答上来分浪费了,答后一定+分
问题补充:.....vc我已经学过了~~~~控制台的程序还能对付 1楼的兄弟 你没看懂题啊- -