资源简介
用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实现)+源码
相关资源
- 基于mfc的多线程文件传输
- C++多线程网络编程Socket
- 文件传输和聊天程序(c语言实现)
- Quectel_EC200xEG912YEC600NEC600S系列_TCP(I
- 基于STM32F407的W5500 tcpserver(官网例程
- 基于CS的TCP文件传输程序设计
- socket客户端.c
- socket服务端.c
- TCP/IP客户端和服务器端源代码,好用
- modbus tcp/ip 简单通讯
- libnet发送udp和tcp包
- windows网络编程_文件传输
- socket tcp应用
- TCP/IP与串口调试
- Tcp自定义命令调试工具
- Qt TCP聊天室demo
- TCP服务端和TCP客户端通讯
- socket通讯c++源码(客户端+服务端)
- MFC的异步网络通讯应用程序
- 各种关于CAsyncSocketCSocket内幕及其用法
- MFC多人聊天室
- 使用socket套接字发送udp数据包
- CAsyncSocket异步实现服务器与客户端
- 基于TCP协议的C/S传输文件C++)
- 基于socket文件传输的实现源码[C++]
- C语言实现TCP/IP协议通信和UDP协议通信
- c语言+UDP+DES加密+socket编程
- 局域网下,手机可以和电脑通过sock
- VC++实现两台电脑文件传输(源代码)
- 计算机网络课程设计之Ping程序含C++原
评论
共有 条评论