兔八哥极品软件园    运行: 4492天 | 文章:640 篇 | 评论:505 条 | 碎语:1条

c# socket与完成端口、异步发送

作者:admin 发布于:2013-1-18 16:49 Friday 分类:.NET

经过一番研究,终于可以确认,.net socket的beginSend和beginReceive用的是完成端口。(windows 98上不是,因为98没有这样的机制)。如果微软没有撒谎的话。
发送大量数据时,Socket.BeginSend和Socket.Send的速度是有差别的。在局域网里面,这种差别表现不明显。
但是在一个高延迟的网络中,差别就很大。
Socket.Send方法是可靠的。但是Send的时候,是等到缓冲区发出的包被确认以后才继续发送后续的包。所以,即使网络的带宽很大,但是如果网络延迟高,发送速度也会很慢。
Socket.BeginSend是把要发送的数据直接写入缓冲区,然后调用返回。BeginSend发送的时候,并不能确定发送是否成功。 BeginSend的时候...

阅读全文>>

评论(0) 引用(51) 浏览(35241)

C#流(stream)C# stream

作者:admin 发布于:2013-1-16 15:09 Wednesday 分类:.NET

流用于对IO处理 

在System.IO名称空间中有以下类 

BinaryReader/Writer 

TextReader/Writer 

Stream 

其中类Stream为抽象类。由此有三个派生类: 

MemoryStream:对内存进行读取与写入 

BufferedStream:对缓冲器进行读取/写入 

FileStream:对文件执行读取与写入 

TextReader/Writer为抽象类。由此派生类: 

StreamReader/StreamWirter 

StringReader/StreamWriter 

需要引入命名空间: 

using System.IO 


案例一: 

内存流与缓...

阅读全文>>

标签: stream

评论(0) 引用(39) 浏览(28916)

C# 16进制与字符串、字节数组之间的转换

作者:admin 发布于:2013-1-16 14:49 Wednesday 分类:.NET

/十进制转二进制
Console.WriteLine("十进制166的二进制表示: "+Convert.ToString(166, 2));
//十进制转八进制
Console.WriteLine("十进制166的八进制表示: "+Convert.ToString(166, 8));
//十进制转十六进制
Console.WriteLine("十进制166的十六进制表示: "+Convert.ToString(166, 16));
   
//二进制转十进制
Console.WriteLine("二进制 111101 的十进制表示: "+Convert.ToInt32("111101", 2));
//八进制转十进制
Console.WriteLine...

阅读全文>>

评论(0) 引用(114) 浏览(32614)

c# 导出Excel去除科学计算法问题

作者:admin 发布于:2013-1-5 14:07 Saturday 分类:.NET

导出成Excel文件,这个代码在网上比较多.但是发现存在一个问题,导出的数据中如果有"012457890"的内容,

用Excel打开后就变成了"12457890",少了前面的0;

原因是Excel把它当作数字来格式化了,就把"0"给去掉了.

解决思路:在Excel中作一个包含有"012457890"的内容,设定单元格的显示方式,然后保存成Html的文件,

查看源代码.发现在CSS格式定义中有:td{mso-number-format:"\@";}.

这样问题就容易解决了.

 HttpContext.Current.Response.Clear();
        HttpContext.Current.Response.Buffer = true;
        HttpC...

阅读全文>>

标签: Excel

评论(0) 引用(140) 浏览(33962)

Sqlite 的连接字符串连接Sqlite

作者:admin 发布于:2013-1-4 15:47 Friday 分类:.NET

基本连接Sqlite数据库:

Data Source=mydb.db;Version=3;

--"Version" 的可能值: "2″ 指 SQLite 2.x (default);"3″ 指 SQLite 3.x


连接同时创建一个新的Sqlite数据库:

Data Source=mydb.db;Version=3;New=True;

启用压缩连接Sqlite数据库:

Data Source=mydb.db;Version=3;Compress=True;

指定连接Sqlite数据库的缓存大小:

Data Source=mydb.db;Version=3;Cache Size=3000;

阅读全文>>

标签: Sqlite

评论(0) 引用(74) 浏览(33104)


Powered by 兔八哥极品软件 苏ICP备12049267号 sitemap