当前位置: 首页 > news >正文 c# 文件传输 news 来源:原创 2024/5/18 16:34:37 send : string path = "E://c#//convey_file//convey_file//Form1.cs"; //要传输的文件 TcpClient client = new TcpClient(); client.Connect(IPAddress.Parse("192.168.0.52"),9999); FileStream file = new FileStream(path,FileMode.Open,FileAccess.Read); //注意与receive的filestream的区别 BinaryReader binaryreader = new BinaryReader(file); byte[] b = new byte[4098]; int data; Console.WriteLine("正在发送文件"); while ((data = binaryreader.Read(b, 0, 4098)) != 0) //这个注意是将文件写成流的形式 { client.Client.Send(b,data,SocketFlags.None); //发送文件流到目标机器 } client.Client.Shutdown(SocketShutdown.Both); binaryreader.Close(); file.Close(); receive: private Socket s; TcpListener tl; public void lis() { string path = "d://1.cs"; //要传入文件的路径 tl = new TcpListener(9999); tl.Start(); Console.WriteLine("等待接受"); s = tl.AcceptSocket(); FileStream fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write); //注意这个的属性和send端有所不同 BinaryWriter binarywrite = new BinaryWriter(fs); int count; byte[] b = new byte[4098]; while ((count = s.Receive(b, 4098, SocketFlags.None)) != 0) //这个是接受文件流 { binarywrite.Write(b,0,count); //将接收的流用写成文件 } binarywrite.Close(); fs.Close(); s.Close(); tl.Stop(); Console.WriteLine("文件传输完毕"); 相关文章: SQL SERVER 2005分页查询语句 测试mssql中sql语句执行时间 SQL SERVER查询时间条件式写法 C#完整的通信代码(一)(点对点,点对多,同步,异步,UDP,TCP) C#完整的通信代码(二)(点对点,点对多,同步,异步,UDP,TCP) C# byte数组常用扩展 八种情况 C# Stream 和 byte[] 之间的转换 常用SQL/oracle循环语句 ORACLE 字符串操作 jquery下json数组的操作用法实例 c#写windows服务程序 JS操作select相关方法:新增 修改 删除 选中 清空 判断存在 等 js判断undefined类型,undefined,null,NaN的区别 oracle的exp/imp使用方法学习 C# 操作线程的通用类[测试通过] HTTP中GET与POST的区别 99%的错误认识 JAVA SE 6 GC调优笔记 JavaScript 是如何工作的:WebRTC 和对等网络的机制! JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】 leetcode讲解--894. All Possible Full Binary Trees mysql 5.6 原生Online DDL解析 NLPIR语义挖掘平台推动行业大数据应用服务 Rancher-k8s加速安装文档 tab.js分享及浏览器兼容性问题汇总 Web标准制定过程 Yii源码解读-服务定位器(Service Locator) 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1 纯 javascript 半自动式下滑一定高度,导航栏固定 从零开始在ubuntu上搭建node开发环境 动态规划入门(以爬楼梯为例) 更好理解的面向对象的Javascript 1 —— 动态类型和多态 将回调地狱按在地上摩擦的Promise 前端面试总结(at, md) 如何解决微信端直接跳WAP端 使用阿里云发布分布式网站,开发时候应该注意什么? 与 ConTeXt MkIV 官方文档的接驳 职业生涯 一个六年开发经验的女程序员的心声。 ArcGIS Pro 如何批量删除字段 VRRP 虚拟路由冗余协议(华为) 软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】 (12)Linux 常见的三种进程状态 (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)! (Redis使用系列) SpirngBoot中关于Redis的值的各种方式的存储与取出 三 (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642 (附源码)计算机毕业设计ssm-Java网名推荐系统 (三) prometheus + grafana + alertmanager 配置Redis监控 (三)uboot源码分析 (转)PlayerPrefs在Windows下存到哪里去了? ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil .bat批处理(七):PC端从手机内复制文件到本地 .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划 .net 调用php,php 调用.net com组件 -- .net/c# memcached 获取所有缓存键(keys) .NET成年了,然后呢? .net流程开发平台的一些难点(1)
send : string path = "E://c#//convey_file//convey_file//Form1.cs"; //要传输的文件 TcpClient client = new TcpClient(); client.Connect(IPAddress.Parse("192.168.0.52"),9999); FileStream file = new FileStream(path,FileMode.Open,FileAccess.Read); //注意与receive的filestream的区别 BinaryReader binaryreader = new BinaryReader(file); byte[] b = new byte[4098]; int data; Console.WriteLine("正在发送文件"); while ((data = binaryreader.Read(b, 0, 4098)) != 0) //这个注意是将文件写成流的形式 { client.Client.Send(b,data,SocketFlags.None); //发送文件流到目标机器 } client.Client.Shutdown(SocketShutdown.Both); binaryreader.Close(); file.Close(); receive: private Socket s; TcpListener tl; public void lis() { string path = "d://1.cs"; //要传入文件的路径 tl = new TcpListener(9999); tl.Start(); Console.WriteLine("等待接受"); s = tl.AcceptSocket(); FileStream fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write); //注意这个的属性和send端有所不同 BinaryWriter binarywrite = new BinaryWriter(fs); int count; byte[] b = new byte[4098]; while ((count = s.Receive(b, 4098, SocketFlags.None)) != 0) //这个是接受文件流 { binarywrite.Write(b,0,count); //将接收的流用写成文件 } binarywrite.Close(); fs.Close(); s.Close(); tl.Stop(); Console.WriteLine("文件传输完毕");