当前位置:编程学习 > C#/ASP.NET >>

C#开发的C/S结构的程序传送大文件,用什么技术呢?

小弟以前是从事J2ee开发的,很少接触底层的东西,最近用C#开发一个C/S构架的程序,客户端和服务端需要传输一些文字做用户名密码验证,还有就是传输一些100兆左右的大文件。

我是用的socket,验证的文字是转换成byte,用socket来send,服务器开线程处理每一个请求。

客户端传送方式:
byte[] buffer = new byte[131072];
FileStream recZipFile = File.OpenRead("文件名");
try
   {
      while (r > 0)
        {
             r = recZipFile.Read(buffer, 0, buffer.Length);
             socket.SendTo(buffer, r, SocketFlags.None, server);
         }
catch (IOException ioe)
         {
             MainForm.alert(ioe.ToString());
         }



服务端也是这样接收。正常网络状态下是没有问题的。
但是我和我老板的机子一个是电信,一个是联通,网络状态不好,就经常出现文件无法传输用360监控网速,根本就没有网速。无法传送。不知道怎么回事。

有没有高手能告诉我这是什么原因造成的或者解决办法。。
如果有其他的通信方式,比如框架什么的,也请告知,小弟只精通java对C#一知半解,望各位高人指点!!!跪谢! --------------------编程问答-------------------- 最简单的方法是用IIS好处理
你要是用socket,要写发送端和接受端。你这个不行。你这只是发送没有接受,再说发送好像不太对呀。
QQ:2353394024我现在也在做这块,我自己写了发送和接受。加我可以讨论一下。 --------------------编程问答-------------------- "精通"java的?socket的bug不知道分析原因? --------------------编程问答-------------------- 呵呵,也关注下,路过。
我只做过串口传几兆的文件,你那文件大,
我学习下,过阵子,也要做类似东东了。 --------------------编程问答-------------------- 回2楼,说错了嘛,我只是靠java混饭吃。而已,以后不敢用“精通”这个词了 --------------------编程问答-------------------- http://download.csdn.net/detail/chenandczh/3661723
楼主可以去看看 --------------------编程问答--------------------
引用 2 楼 sp1234 的回复:
"精通"java的?socket的bug不知道分析原因?

看帖还挺仔细。。看看人家问题就得了。。 --------------------编程问答-------------------- 只要是互联网都是tcpip。
socket那是必须的。
.net的socket有sendfile这一个。
msdn上看一下怎么用就可以了。
自己写send比较好一些。
楼主的方法没错。只是要多开一些。用一个发送肯定会慢。
注意订好协议。别的没啥。 --------------------编程问答-------------------- 自己写send需要注意哪些呢,从哪些角度考虑? --------------------编程问答--------------------  通信不好的时候,就可能有IOException。
 catch到IOException后,光alert还不够,要尝试重新传输啊。 --------------------编程问答-------------------- 直接写入共享文件夹, --------------------编程问答-------------------- 还是没有解决啊 --------------------编程问答-------------------- 我有现成的文件传输接收程序 C#版的 
是自己写的即时通讯的一部分
使用了异步读取文件、TcpClient、TcpListener发送 --------------------编程问答-------------------- 楼上,可否给我研究一下,,798489082@qq.com --------------------编程问答-------------------- 楼上的,能发一下吗? --------------------编程问答-------------------- 用Remoting --------------------编程问答--------------------
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,