re: Comet,Ajax的后续者? 一唯 2006-10-10 18:05
我上面的程序在IE中也可以运行的,只要先输出340个空格左右的数据把缓冲区填满。
re: 发疯的live.com 一唯 2006-08-11 11:20
我也出错,blog都写不了。今天好了,不过有些地方还是有问题
re: Comet,Ajax的后续者? 一唯 2006-08-09 16:10
@ChuPaChuPs
能不能代码给我看看阿。参考一下
我的Email:songsong_520@hotmail.com
thx:)
re: Comet,Ajax的后续者? 一唯 2006-08-09 13:01
@neozhu
是用一个叫Ethereal的抓包工具
@ChuPaChuPs
我是想怎么来判断客户端状态,比如掉线,消息发送失败等。我上面的那个demo实际上只有server推数据到客户端,没办法拿到客户端后面的请求信息。现在就想怎么实现双向实时通讯。
re: Comet,Ajax的后续者? 一唯 2006-08-09 11:23
@ChuPaChuPs @lovebanyi
非常感谢,确实是缓冲的原因。
@ChuPaChuPs
你是怎么在ASP.Net下实现comet的?用我的方法好像没法拿到客户段反馈信息,比如说浏览器再发Request过来。
如果是浏览器是FF,好像可以利用multipart/x-mixed-replace这种Content-Type来实现分段flush数据。
re: Comet,Ajax的后续者? 一唯 2006-08-09 09:32
@amou
我用的是Ethereal,以前也用过wpe,wpe使用简单,不过还是推荐用Ethereal,非常强大。能抓到所以目标网卡上收到的数据包,talk当然也能抓啊
re: Comet,Ajax的后续者? 一唯 2006-08-08 17:57
@小蔡
很多东西不是不好,一定要在一定的情况下再回发光,就像Ajax^_^
@海蓝
赞成,所以说这种技术不是用来取代传统client pull技术的,而是他的补充。从这个角度来看,连接数量就不是问题了。现在开发模式被分为所谓的B/S,与C/S,我想这也是一个原因吧。那么目前的C/S怎么解决连接数量问题呢?可以设想,一旦这种技术成熟,将大大增强基于浏览器系统的应用面。
@Mango
呵呵,很多东西都比较奇怪。就拿http来说,一个建立在面向连接协议上的无连接协议......不过当时建立Http的人也想不到会发展到这个样子^_^。
不过现在好像开始大整合了,期待没有什么b/s,c/s之分的那一天。撤远了:)
re: Comet,Ajax的后续者? 一唯 2006-08-08 17:02
@goodspeed.com.cn
不是Gmail,而是Gmail中的Chat模块。可以确定是一直保持一个连接。用Ethereal抓包会发现,开始的时候从你这里产生一个Http Get到google的服务器上,之后就没有再进行Http 请求,如果你的好友不停的发消息给你,服务器就把消息push给你。(我贴一张我抓包的图放在文章后面)
@雨玲珑
点一下就挂了。实际应用的话不会把这个连接这么表现给用户,用户也不能直接控制,可以用一个隐藏的iframe,或者用ActiveObject("htmllife")专门用来传输数据,用户交角度是看不出来的。
re: Comet,Ajax的后续者? 一唯 2006-08-08 15:09
@aspnetx
嘿嘿,工作原因才开始学.Net。很多都不懂,特别是asp.NET。Comet这个东西是一个叫Alex的人提出的,至于后面那段代码嘛,我胡思乱想的啦。
不过这种开发模式确实很有趣,我想应该会像Ajax那样风靡。需要保持一个连接确实恐怖,不过可以确定的是gmail中的Chat确实保持了一个连接,国外有人说是利用一个ActiveX实现的,叫做“htmlfile”,不是很清楚。
另一个应用www.meebo.com可以明显地看出使用了某种负载均衡方案。
至于google怎么处理就不知道了。
我那段代码让大家见笑了。但是并不是pull方式,客户段第一次去请求之后就一直保持了那个连接,以后如果没有数据,就不发数据给浏览器,一旦有数据了,就马上把数据推至浏览器。并不是定时去请求,看有没有数据。(第一次请求应该是必要的吧,不然连接怎么建立^_^)
re: asp.net控件开发基础(1) 一唯 2006-07-31 10:52
楼主能光看代码事例代码就能这样理解,厉害。
也想学学控件开发,希望楼主继续,谢谢:)
对了,那里下载那本书的源码,有地址吗?
差点被楼住搞晕了。再吧jeffrey的书翻了一下,又清晰了。我的总结就是box和unbox操作是对于值型和引用型的相互转换,所以引用型与引用型是不需要box和unbox的。对于这一点发现侠缘的一个错误:
Student stu=new Student("axiang");
Object o=(Object)stu;//boxing
Student stu1=(Student)o;//unboxing
stu1.Name="andy";
stu=(Student)o;
Console.WriteLine(stu.name);//what would be written?
IStudent istu=(IStudent)o;//unboxing ★
istu.Name="andychan";
stu=(Student)o;
Console.Write(stu.name);//what would be written? now
★这里并没有unbox。因为接口是引用型。可以看汇编代码:
.locals init ([0] valuetype Student stu,
[1] object o,
[2] valuetype Student stu1,
[3] class IStudent istu)
......//省略
IL_0043: ldloc.1 //这里开始执行★处指令:拿到o
IL_0044: castclass IStudent //注意没有unbox,仅仅是一个映射,istu和o指向同一个地方
IL_0049: stloc.3 //保存istu,操作完成
IL_004a: ldloc.3
IL_004b: ldstr "andychan"
IL_0050: callvirt instance void IStudent::set_Name(string)
....//省略
IL_006d: ret
以前比较清楚,很久没看就模糊了,这下游比较清楚了。谢谢侠缘的文章。
我也是,非常喜欢。支持LZ继续下去
我的MSN:songsong_520@hotmail.com
haha,有意思。看看自己一天下来鼠标移动有多远
对了,源码给俺一份,3Q
song.holy@gmail.com
nhibernate-1.0.2.0里是不是没有hbm2net了?
re: 面向对象的JavaScript 一唯 2006-03-27 09:27
怪怪的
re: NHibernate 配置方式 一唯 2006-03-21 17:12
sorry,自己看文档不认真:If VisualStudio.NET or NAnt is used to build the Assembly then make sure that the hbm.xml files are added as Embedded Resources
作为内嵌资源添加映射文件之后,AddAssembly方法能够读取所有的映射文件啦。
不过AddClass还是提示NhibernateTest.User.hbm.xml not found。????