socket 发送图片

引言



自 .NET Framework 2.0 版本开始新增了一个SendFile方法,此方法可以方便的发送指定路径的文件,今天给大家演示一个利用Socket.SendFile方法发送图片的例子,希望能给刚刚接触Socket编程的朋友一些帮助,效果图: 
 

 

SendFile详细参数



Socket.SendFile 方法 (String, Byte[], Byte[], TransmitFileOptions)
使用指定的 TransmitFileOptions 值,将文件 fileName 和数据缓冲区发送到连接的 Socket 对象。
注意是连接的Socket对象,所以只适用于TCP协议的Socket连接。

参数
fileName

一个String,它包含要发送的文件的路径和名称。此参数可以为 空引用(在 Visual Basic 中为 Nothing)。

preBuffer

一个 Byte 数组,包含发送文件前要发送的数据。此参数可以为 空引用(在 Visual Basic 中为 Nothing)。

postBuffer

一个 Byte 数组,包含发送文件后要发送的数据。此参数可以为 空引用(在 Visual Basic 中为 Nothing)。

flags

一个或多个 TransmitFileOptions 值。

 

详细请参考Socket.SendFile

 

Send和Receive
 

 
 SendFile

  ReceiveFile

  

最后


 
SendFile方法虽然用起来非常的方便,但也有自身的优缺点
优点:发送文件时自动创建线程,即使发送大文件时也不会影响主线程运行,不用担心发送过程的状态,文件发送完成时会自动返回。
缺点:只能发送指定路径的文件,发送过程中得不到已发送的流量,所以不能观察其发送的状态。
大家可以根据自己所设计的系统环境采用SendFile方法,虽然SendFile的缺点让我们情难以堪,但是发送一些小文件还是很方便的,比如图片,文本文档等等。
 


 
源码下载

转载于:https://www.cnblogs.com/prnimeio/archive/2011/11/18/2254740.html

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值