vb.net udpclient 发送大文件循环问题'缓冲区长度
Const BufLen As Integer=800
'包发送间隔
Const Interval As Integer=62
'缓冲区
Dim buf As Byte()=Nothing
'远程(目的)网络端点
Dim remoteep As IPEndPoint=Nothing
'如果vb.net大文件你已将s定义为类的成员变量(实例或共享)vb.net大文件,注释掉下面这句
Dim s As UdpClient=Nothing
Dim willread As Integer
Try
buf=New Byte(BufLen-1) {}
s=New UdpClient()
' TextBox1.Text包含远程(目的)主机的IP地址
' TextBox2.Text包含远程(目的)主机的端口号
remoteep=New IPEndPoint(IPAddress.Parse(Trim(TextBox1.Text)),CInt(TextBox2.Text))
' Label2.Text包含要发送的文件的路径
Using fs As New FileStream(Label2.Text,FileMode.Open,FileAccess.Read)
While fs.Positionfs.Length
willread=BufLen
If fs.Length-fs.PositionBufLen Then
willread=CInt(fs.Length-fs.Position)
End If
fs.Read(buf,0,willread)
s.Send(buf,willread,remoteep)
Thread.Sleep(Interval)
End While
End Using
【vb.net大文件 vbnet fileopen】Catch ex As Exception
MsgBox(ex.ToString())
Finally
If s IsNot Nothing Then
s.Close()
End If
End Try
求大神指点 vb.net 怎么发送大文件 我用 UdpClient 的Send只能发送5000字节以下的下载vb.net大文件,直接通过url读取文件,然后Response.OutputStream.Write()数据
下面提供个下载的静态方法,是C#的,供参考vb.net大文件:
/// summary
/// 下载文件
/// /summary
/// param name="fileName"下载的文件名称(包括扩展名)/param
/// param name="filePath"下载文件的绝对路径/param
public static void DownFile(string fileName, string filePath)
{
//打开要下载的文件,并把该文件存放在FileStream中
System.IO.FileStream Reader = System.IO.File.OpenRead(filePath);
//文件传送的剩余字节数:初始值为文件的总大小
long Length = Reader.Length;
HttpContext.Current.Response.Buffer = false;
HttpContext.Current.Response.AddHeader("Connection", "Keep-Alive");
HttpContext.Current.Response.ContentType = "application/octet-stream";
HttpContext.Current.Response.Charset = "utf-8";
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename="System.Web.HttpUtility.UrlEncode(fileName));
HttpContext.Current.Response.AddHeader("Content-Length", Length.ToString());
byte[] Buffer = new Byte[10000];//存放欲发送数据的缓冲区
int ByteToRead; //每次实际读取的字节数
while (Length0)
{
//剩余字节数不为零,继续传送
if (HttpContext.Current.Response.IsClientConnected)
{
//客户端浏览器还打开着,继续传送
ByteToRead = Reader.Read(Buffer, 0, 10000);//往缓冲区读入数据
HttpContext.Current.Response.OutputStream.Write(Buffer, 0, ByteToRead);
//把缓冲区的数据写入客户端浏览器
HttpContext.Current.Response.Flush(); //立即写入客户端
Length -= ByteToRead;//剩余字节数减少}
else
{
//客户端浏览器已经断开,阻止继续循环
Length = -1;
}
}//关闭该文件
Reader.Close();
}
易语言 / VB.NET 如何获取大文件的尺寸(>4GB) 在易语言环境下无法用“取文件尺寸(F把结果用字节集变量,再其字节集数据,长整数就行了,多大都能取
VB.NET 3.5 打包的时候成220M的大问题?在编译页面的“高级编译选项”里把配置改为net.framework2.0,同时在发布页面的"系统必备"中把net.framework 3.5改成2.0的,在引用页面中把所有2.0以上版本的引用删除,这样打包的文件会缩小成30M
只打包程序的DLL,用clickonce技术肯定是不能的,也许新建一个安装项目,改用windows installer技术可以做到,我没试过 , 不确定,但即使是这样,也不会省太多空间,因为最基本的system.dll就有3M左右,还有system.drawing.dll……很多很多 。
关于vb.net大文件和vbnet fileopen的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。
推荐阅读
- 做长视频用什么电脑,做短视频需要什么配置的电脑
- 阿里云服务器选配指南,阿里云服务器买哪种
- 如何调研新媒体运营,新媒体调研总结
- php数据入库流程 php数据库写入
- thinkphp安全路径,thinkphp访问路径
- pg数据库主备切换过程,oracle 主备切换
- 休闲益智游戏50102,休闲益智游戏简称
- java订单取消代码 java订单定时取消
- 电脑怎么画表格,电脑怎么画表格线