资源简介
用VC6.0编写的基于TCP协议的简单控制台文件传输程序,适合Windows Socket编程的初学者参考。
代码片段和文件信息
#include
#include
#include
#include
#include
using namespace std;
void main()
{
int err;
int len=sizeof(SOCKADDR);
char sendWord[200]=“服务端已收到消息!“;
char recvWord[200];
string s;
ifstream inf;
//////////////创建套接字库///////////////
WORD wVersionRequested;
WSADATA wsaData;
wVersionRequested = MAKEWORD( 2 2 );
err = WSAStartup( wVersionRequested &wsaData );
if ( err != 0 ) {
return;
}
if ( LOBYTE( wsaData.wVersion ) != 2 ||
HIBYTE( wsaData.wVersion ) != 2 ) {
WSACleanup( );
return;
}
///////////////创建套接字//////////////////////
SOCKET SockSrv=socket(AF_INETSOCK_STREAM0); //SOCK_STREAM为使用TCP协议,SOCK_DGRAM为使用UDP协议
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(6530); //指定端口
/////////////绑定套接字//////////////////////
bind(SockSrv(SOCKADDR*)&addrSrvlen);
/////////////开始监听//////////////////////
if(0==listen(SockSrv2))
cout<<“正在监听...“< else {
cout<<“监听失败!“< return;
}
SOCKADDR_IN addrCli;
//////////////发送文件//////////////////
while(1)
{
inf.open(“1.txt“ios_base::in);
SOCKET SockCli=accept(SockSrv(SOCKADDR*)&addrCli&len);
cout<<“客户端已连接“;
Sleep(3000);
while(recv(SockClirecvWordstrlen(recvWord)+10)!=SOCKET_ERROR)
{
inf.getline(sendWord200); //txt文件中必须每行都包括了回车
if(!inf.eof()) //判断文件是否到达文件末尾
{
system(“CLS“); //清屏
cout<<“正在发送...“< send(SockClisendWordstrlen(sendWord)+10);
}
else
{
cout<<“文件成功发送!“< send(SockCli“END“strlen(“END“)+10); //给客户端发送消息示意发送完成
break;
}
}
inf.clear(); //////////////调用clear()以便服务端可继续为接下来连接的客户端发送文件
inf.close(); ///////////////关闭文件
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2011-10-14 19:50 MyTcp\
目录 0 2011-10-14 19:50 MyTcpCli\
目录 0 2011-10-14 19:50 MyTcpCli\TcpCli\
文件 1250 2011-10-14 19:30 MyTcpCli\TcpCli\1.txt
目录 0 2011-10-14 19:50 MyTcpCli\TcpCli\Debug\
文件 540736 2011-10-14 19:45 MyTcpCli\TcpCli\Debug\TcpCli.exe
文件 800268 2011-10-14 19:45 MyTcpCli\TcpCli\Debug\TcpCli.ilk
文件 175466 2011-10-14 19:45 MyTcpCli\TcpCli\Debug\TcpCli.obj
文件 5505276 2011-10-14 17:27 MyTcpCli\TcpCli\Debug\TcpCli.pch
文件 1131520 2011-10-14 19:45 MyTcpCli\TcpCli\Debug\TcpCli.pdb
文件 189440 2011-10-14 19:48 MyTcpCli\TcpCli\Debug\vc60.idb
文件 143360 2011-10-14 19:45 MyTcpCli\TcpCli\Debug\vc60.pdb
文件 1799 2011-10-14 19:44 MyTcpCli\TcpCli\TcpCli.cpp
文件 4317 2011-10-14 19:50 MyTcpCli\TcpCli\TcpCli.dsp
文件 246 2011-10-14 19:48 MyTcpCli\TcpCli\TcpCli.plg
文件 1250 2011-10-14 19:18 MyTcp\1.txt
目录 0 2011-10-14 19:50 MyTcp\Debug\
文件 38111 2011-10-06 11:37 MyTcp\Debug\1.txt
文件 9573 2011-10-06 11:37 MyTcp\Debug\2.txt
文件 49683 2011-10-06 11:38 MyTcp\Debug\3.txt
文件 557109 2011-10-14 19:45 MyTcp\Debug\MyTcp.exe
文件 821588 2011-10-14 19:45 MyTcp\Debug\MyTcp.ilk
文件 5505276 2011-10-14 18:31 MyTcp\Debug\MyTcp.pch
文件 1139712 2011-10-14 19:45 MyTcp\Debug\MyTcp.pdb
文件 209383 2011-10-14 19:45 MyTcp\Debug\tcpip.obj
文件 205824 2011-10-14 19:45 MyTcp\Debug\vc60.idb
文件 143360 2011-10-14 19:45 MyTcp\Debug\vc60.pdb
文件 4305 2011-10-14 19:50 MyTcp\MyTcp.dsp
文件 724 2011-10-06 11:40 MyTcp\MyTcp.dsw
文件 50176 2011-10-14 19:50 MyTcp\MyTcp.ncb
文件 53760 2011-10-14 19:50 MyTcp\MyTcp.opt
............此处省略2个文件信息
- 上一篇:基于visual C++的人才管理系统
- 下一篇:随机点名(mfc实现)+源码
相关资源
- VC++ 6.0 TCP 通讯(服务器端和客户端)
- 基于TCP的网络聊天室的设计
- 基于OPNET的TCP协议研究与仿真论文
- 基于TCP协议的C++聊天软件源代码
- C++编写的Socket通信程序源代码
- 网络调试助手---开发环境:VC++6.0 基于
- C语言局域网文件传输和聊天
- Vtcp 5.0版本C++源代码
- 利用MFC的Csocket类实现网络通信
- Socket文件传输
- C++ Socket网络聊天
- VC6.0 winsock编程.pdf
- MFC中利用CSocket实现UDP通信
- 基于MFC的CSocket类实现点对点通信
- c++ mfc客户端服务器端文件传输
- UDP简单文件传输
- 基于MFC的聊天室网络socket
- 基于MFC基本对话框的CSocket局域网通信
- TCPIP实用程序&温度数据采集系统程序
- traceroute在windows下的c++实现源代码
- 网络编程-----抓包程序C语言版
- MFC socket 服务器端编程
- 利用Socket实现双机通信C++
- 基于tcp mfc 文件传输 源代码 基于TCP的
- C++ CAsyncSocket类聊天室程序
- VC6.0--计算器
- MFC websocket server | MFC websocket服务器
- C语言socket实现文件
- winsocket编程实现简单 server端和client端
- 基于C_S结构的Socket程序设计(含源码
评论
共有 条评论