c语言网络编程:C#网络编程(接收文件) -

Part.5

疯狂代码 / ĵ http://DotNet/Article65322.html

本文源代码下载地址

/2009_03/Network-Part5.rar

这篇文章将完成Part.4中剩余部分它们本来是篇完整文章但是上篇比较长合并起来页数太多浏览起来可能

会比较不方便我就将它拆为两篇了本文便是它后半部分我们继续进行上篇没有完成步骤:客户端接收来自服务端

文件

4.客户端接收文件

4.1服务端实现

对于服务端我们只需要实现上章遗留sendFile思路方法就可以了它起初在handleProtocol中是注释掉另外

由于创建连接、获取流等操作和receiveFile是没有区别所以我们将它提出来作为个公共思路方法

getStreamToClient下面是服务端代码只包含新增改过代码对于原有思路方法我只给出了签名

Server {

void Main( args) {

Console.WriteLine("Server is running ... ");

IPAddress ip = IPAddress.Parse("");

TcpListener listener = TcpListener(ip, 8500);

listener.Start;           // 开启对控制端口 8500 侦听

Console.WriteLine("Start Listening ...");

while (true) {

// 获取个连接同步思路方法在此处中断

TcpClient client = listener.AcceptTcpClient;

RemoteClient wapper = RemoteClient(client);

wapper.BeginRead;

}

}

}

public RemoteClient {

// 字段 略

public RemoteClient(TcpClient client) {}

// 开始进行读取

public void BeginRead { }

// 再读取完成时进行回调

private void _disibledevent=>         ProtocolHelper helper = ProtocolHelper(pro);

FileProtocol protocol = helper.GetProtocol;

(protocol.Mode FileRequestMode.Send) {

// 客户端发送文件对服务端来说则是接收文件

receiveFile(protocol);

} (protocol.Mode FileRequestMode.Receive) {

// 客户端接收文件对服务端来说则是发送文件

sendFile(protocol);

}

}

// 发送文件

private void sendFile(FileProtocol protocol) {

TcpClient localClient;

NetworkStream streamToClient = getStreamToClient(protocol, out localClient);

// 获得文件路径

filePath = Environment.CurrentDirectory + "/" + protocol.FileName;

// 创建文件流

FileStream fs = FileStream(filePath, FileMode.Open, FileAccess.Read);

c语言网络编程百度云,C语言网络编程:C#网络编程(接收文件).pdf相关推荐

  1. c语言mfc计算器 百度云,C语言(MFC)计算器设计.doc

    C语言(MFC)计算器设计 软件基础课程设计报告 一.需求分析 系统目标:设计的计算器至少能够进行简单的四则运算和求倒数求反以及开方运算. 主体功能:程序能实现:加,减,乘,除,开方,倒数等运算功能: ...

  2. 网络技能大赛-云平台部分-CentOS部分13-[软件定义网络(详细)]

    网络技能大赛-云平台部分-CentOS部分13-[软件定义网络(详细)] 2022年全国职业技能大赛网络系统管理赛项相较2021年再次做出改动,Linux部分从之前的Debian又换回了CentOS, ...

  3. c语言程序设计第三版百度云,c语言编程练习题百度云.doc

    c语言编程练习题百度云 精品文档2016全新精品资料-全新公文范文-全程指导写作 –独家原创 PAGE1 / NUMPAGES1 c语言编程练习题百度云 共花了50先令,每个男人各花3先令,每个女人各 ...

  4. 西邮c语言期末试卷百度云,GitHub - dcfun/XiyouLibNodeExpress: 西邮图书馆Web API-Node.js...

    XiyouLibNodeExpress 该API现已由胖萌维护,如有问题,请联系:910739015@qq.com 基于Node.js Express框架的西邮图书馆REST API 请根据下面的介绍 ...

  5. c语言入门1.2.3 百度云,C语言入门1.2.3--一个老鸟的C语言学习心得(附光盘)

    摘要: 本书是一本与众不同的C语言入门好书.作者以独特的视角,向初学者讲述了如何才能真正理解和掌握C语言.本书充分考虑了初学者学习C语言时的种种困难,讲解细致入微,抽丝剥茧,层层推进.本书除了讲述C语 ...

  6. 百度云不限速c语言,如何解决百度云下载大文件限速问题

    最痛苦的事情莫过于下载一个N个G的文件,而速度只有80k/s. 有一个东西叫百度云会员 我想,大部分人都很痛恨下载限速吧?尤其是当360云关门大吉后,百度云就可以更加嚣张的为所欲为了.不开百度云会员, ...

  7. 单片机魔法编程百度云_[2020][欧美][喜剧][魔法教母]高清资源百度云,高清1080P资源在线!...

    <魔法教母>资源百度云下载 关注公众号回复片名即可获取资源 <魔法教母>是一部迪士尼真人童话圣诞特供, 最开始看的时候,首先会想到迪士尼的<仙履奇缘>(灰故娘)中的 ...

  8. 【资讯】KC电话携手百度云众测 打造移动网络语音首选品牌

    作为早在2011年2月就率先发布国内首款Android版手机电话APP的品牌互联网语音通信服务商,KC网络电话现如今在国内几乎是家喻户晓.然而随着KC网络电话的手机电话APP日均下载量无限放大,面对形 ...

  9. linux环境编程 百度云,linux环境下使用百度云网盘

    linux环境下使用百度云网盘 linux下经常需要备份一些文件到云端,现在能用的也就只有度娘的百度云网盘了,在github上发现一个挺好的项目,bypy,用来在linux下使用百度云. 项目地址:h ...

最新文章

  1. C C++的编译过程详解
  2. 从技术角度分析推荐系统案例
  3. 重磅!OpenMMLab 更新啦!分类/检测/分割/3D等项目全面升级
  4. Facebook开源ptr:在Python环境中并行运行单元测试
  5. 使用c语言标准库中的时间函数
  6. 数据结构设计_撮合引擎开发:数据结构设计
  7. IOS 开发中判断NSString是否为空字符
  8. 刷magisk模块后不能开机_联想启天商用电脑刷BIOS或维修换主板后 开机叫两声处理办法...
  9. mongoDB 从单节点迁移到分布式集群 遇到的问题
  10. SAP成都研究院Sunshine:我的C4C实习感受和保研之路
  11. 2018蓝桥杯省赛---java---C---4( 第几个幸运数)
  12. CAN笔记(21) 服务数据对象
  13. 【分布式ID】键高并发 分布式 全局唯一 ID 雪花算法 snowflake
  14. TFT LCD显示原理详解
  15. 2012、12、17
  16. python批处理远程关机脚本,python实现远程通过网络邮件控制计算机重启或关机
  17. 如何在Linux上安装和使用TeamViewer
  18. C++解决Hanks趣味问题
  19. 代码生成器-设计心得
  20. 大智慧显示切换服务器,大智慧怎么改界面 大智慧改界面教程

热门文章

  1. weex项目实战篇(二)
  2. MFC中CSTATIC控件双击全屏/双击恢复
  3. moonseo-占座:网站关键词多怎么做优化?
  4. 【复变函数】2021-09-15-复变函数/解析函数的一些想法(五)(算不上笔记)
  5. 中国万网官方网站被黑 黑客留言调侃
  6. javascript闭包案例一
  7. 妲己机器人需要什么条件才能使用_回顾腾讯智能机器人妲己功能介绍
  8. 推荐几个科研数据相关的下载平台
  9. 世行深圳TOD试点项目顺利通过半年评审
  10. 使用wagon-maven-plugin插件自动部署项目