首    页 界面/窗口 网络/通讯 数据库 组件开发 图像/多媒体 NET/Web 其它技术 源码下载 资料下载 软件共享 软件外包 曲艺杂谈
栏目导航:  首    页  |  网络/通讯  |  棋牌游戏


游戏大厅升级日记 第2天


原作者:包建强    源出处:博客园    发布者:施昌权    发布类型:转载    发布日期:2009-03-21


  

整理客户端:

1.通信层已经剥离成SocketHelper类,但还在各自主程序中,在WCF封装阶段,会单独放在一个独立的工程中。

2.SocketHelper有时会回调Client类的方法,产生依赖,使用事件机制解决。

3.在测试Server和Client通信的时候,发现Client发包正常,Server收包不正常。调试一中午,发现是重构时,.ctor中的四条语句顺序颠倒导致:

myClient = serverListener.AcceptTcpClient();
this.client = client;

//以下两句要是放在上面2句之前,就不对了,因为TcpSocket的AcceptTcpClient()方法表示接受新的数据包(意味着已有数据包已经处理完毕),只有在此之后才能重新声明sb和recByte

sb = new SplitBytes();
recByte = new byte[1024];

 

4.统一了Server和Client的通信层:使用Singleton封装TcpSocket和TcpListener

5.Server的单一用户查找不必用LINQ,直接使用sender即可,引用类型需要排查。


发表评论
  回复  引用  查看    
#1楼 2009-02-06 14:01 | 韦恩卑鄙      
4.统一了Server和Client的通信层:使用Singleton封装TcpSocket和TcpListener

这个保留意见 一个游戏逻辑对多个端口开放同协议的连接也不是少数
  回复  引用    
#2楼 2009-02-06 22:24 | 未登录的包建强 [未注册用户]
@韦恩卑鄙



关于我们 版权声明 广告服务 联系我们 友情链接 加入收藏
站长:施昌权    Email:scq2099yt@163.com    MSN:scq2099yt@live.cn    QQ:14046300    本站QQ群:67202409
Copyright © 2008     卓为VC(www.joyvc.cn)    All Rights Reserved    建议分辨率 1024×768
本站由施昌权制作维护
京ICP备09012297号