您的位置:程序门 -> .net技术 -> c#



socket传送文件的大小问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


socket传送文件的大小问题
发表于:2007-01-17 10:46:01 楼主
我再用socket传送文件的时候
传送很小的文件没有问题在传个600k的文件都发生错误

a   message   sent   on   a   datagram   socket   was   larger   than   the   internal   message   buffer   or   some   other   network   limit,   or   the   buffer   used   to   receive   a   datagram   into   was   smaller   than   the   datagram   itself

我用的udpclient.send()
来发送的
发表于:2007-01-17 10:57:401楼 得分:0
自己顶
发表于:2007-01-17 11:00:042楼 得分:0
看看设置,错误提示说你文件的大小比默认的缓冲区大小要大,
发送文件我都用异步socket,这个没有用过
发表于:2007-01-17 11:21:343楼 得分:0
我设置了跌udpclient.client.sendbuffersize和
udpclient.client.receivebuffersize
还是一样的错误
发表于:2007-01-17 11:33:374楼 得分:0
大哥们过来帮帮我啊
发表于:2007-01-17 11:43:395楼 得分:0
关注

发表于:2007-01-17 11:49:206楼 得分:0
up
发表于:2007-01-17 13:21:357楼 得分:0
没有人知道?????
发表于:2007-01-17 13:56:208楼 得分:0
应该是你一次性把所有文件内容都送进了缓冲区。

应该把文件内容分段发送

开辟一段缓冲区,   一边连着文件,   另一边连着socket,   边读边发送

filestream     fs   =   new   filestream();

int   bytesread   =   0;
byte[]   buff   =   new   byte[1024];
do
{
          n   =   fs.read(buff,   0,   buff.length);//读
          socket.send(buff,   0,   n);//发送
}
while(n   >   0);


快速检索

最新资讯
热门点击