Live

  博客园 :: 首页 :: 联系 :: 订阅 订阅 :: 管理
  4 Posts :: 1 Stories :: 55 Comments :: 0 Trackbacks

公告

昵称:一唯
园龄:5年10个月
粉丝:0
关注:0

搜索

 
 

常用链接

最新评论

2006年8月8日 #

摘要: 最近对Google很感兴趣,特别是Gmail中实现的chat功能。web IM实际上一点也不陌生,不过大多数都比较慢,可能还是归根于传统的pull data的模式,为了达到实时,只有提高pull的频率,不过这始终不是办法。并且很浪费资源,因为即使没有你要的数据,你也会一直在请求。回头看 Gmail中的Chat程序,发现很快,基本上和使用GTalk客户端差不多,经过抓包分析,发现并不是定时去请求拿数据。阅读全文
posted @ 2006-08-08 14:37 一唯 阅读(5819) 评论(49) 编辑

2006年7月11日 #

传统的IM软件无法穿过防火墙,但是web版的一般都可以。(网管总不会nb到不让访问web吧)
MSN也有web版的了,但是速度......
但是Gmail-Chat可以说非常完美了。不过不知道原理。

首先想到用webService,但是出现一个问题,webService不能主动通知Client,总不会让人家主动来查询自己有没有信息吧,即时不说,100个人在线,估计服务器就快挂了。不知到有没有方法能让server去联系client,比如client登录的时候请求一次,以后server就能主动发信息给client了。

还想到一个方法,那就是自己写的client模拟浏览器,但是发现也不怎么可行.......

有没有那位达人有经验阿,求教
posted @ 2006-07-11 11:55 一唯 阅读(372) 评论(2) 编辑

2006年3月24日 #

我们的项目用ListView来显示数据,但是客户有一个要求:
第一例内容要靠中央。
但是 ColumnHeader 的TextAlign属性被写成这样:
public HorizontalAlignment TextAlign
{
      
get
      
{
            
if (!this.textAlignInitialized && (this.listview != null))
            
{
                  
this.textAlignInitialized = true;
                  
if ((this.Index != 0&& (this.listview.RightToLeft == RightToLeft.Yes))
                  
{
                        
this.textAlign = HorizontalAlignment.Right;
                  }

            }

            
return this.textAlign;
      }

      
set
      
{
            
this.textAlign = value;
            
if ((this.Index == 0&& (this.textAlign != HorizontalAlignment.Left))
            
{
                  
this.textAlign = HorizontalAlignment.Left;
            }

            
if (this.listview != null)
            
{
                  
this.listview.SetColumnInfo(1this);
                  
this.listview.Invalidate();
            }

      }

}
所以直接设置TextAlign属性是不行的。
继承的话很多成员都是private,重写的话用到的很多类是internal的。
应该怎么来实现?
posted @ 2006-03-24 13:43 一唯 阅读(262) 评论(1) 编辑

2006年3月21日 #

今天下来NHibernate1.0.2.0,参照Examples自己写写。
dll引用,配置文件,映射类,映射文件都OK。
主要代码如下:
 1Configuration cfg = new Configuration();
 2cfg.AddAssembly("NhibernateTest");
 3
 4ISessionFactory factory = cfg.BuildSessionFactory();
 5ISession session = factory.OpenSession();
 6ITransaction transaction = session.BeginTransaction();
 7
 8User newUser = new User();
 9newUser.Id = 1;
10newUser.UserName = "nicole";
11newUser.Password = "abc123";
12session.Save(newUser);
13transaction.Commit();
14session.Close();
执行到第12行代出错: Unknown entity class: NhibernateTest.User
好像是没有映射好。
将第二行的代码换成:
cfg.AddXmlFile("NhibernateTest.User.hbm.xml");
就可以了。换成:
cfg.AddClass(typeof(User));
也不行,错误为:Resource: NhibernateTest.User.hbm.xml not found。“NhibernateTest.User.hbm.xml ”文件放在bin下或者项目根目录都没用。
文档说AddAssembly会把所有.hbm.xml文件都加载,为什么不行?
AddClass方法的话是在什么地方寻找相对于的.hbm.xml文件呢?
posted @ 2006-03-21 16:53 一唯 阅读(1310) 评论(3) 编辑