标签:io os java ar 数据 art on 代码 c
庞大的代码,程序一点点调试了4天,终于有了眉目,可以正常接收服务器数据包了,不容易啊!成就感油然而生~
经验流程:
0、这个函数一开始就可以接收到服务器数据包,从日志中可以晓得:
static void onDataReceived(byte[] message)
1、新类需要继承CommunicationI类:
public class NotificationModule : CommunicationI
2、新类需要向通信模块注册:
public NotificationModule()
{
SocketClient.registerModule(this, Protocol.NotificationModule);
}
3、新类实现CommunicationI中的onMessageReceived接口:
public void onMessageReceived(TSTPackage pkg)
{
StreamWriter sw = new StreamWriter("D:\\client.txt", true, System.Text.Encoding.Default);
System.Text.UTF8Encoding con = new System.Text.UTF8Encoding();
string inputString = con.GetString(pkg.Content);
sw.Write("\r\n" + inputString);
sw.Flush();
sw.Close();
//MainWindow myWnd = new MainWindow();
//myWnd.Show();
}
4、public static bool registerModule()方法中,需要修改假如新项目信息:
if (_moduleCode == Protocol.POLICY_MODULE || _moduleCode == Protocol.COMPUTER_INFO_MODULE || _moduleCode == Protocol.VIRUS_MODULE || _moduleCode == Protocol.PATCH_MODULE || _moduleCode == Protocol.REGISTRATION_MODULE || _moduleCode == Protocol.STATE_MODULE|| _moduleCode ==Protocol.NotificationModule)
5、public class Protocol类中需要增加新项目字段:
public const int NotificationModule = 0X7000;
6、public partial class HostingService类中,需要初始化新类:
new notificationModule.NotificationModule();
-------------------------至此,客户端通信代码,基本配置完毕,好多细节啊,每一点都要命,各种调试追踪-----------------------------------
7、服务器端JAVA代码数据包CODE值改为目标新项目:
FrontSocketServer.sendMessageToClient(new TSTPackage(Protocol.NotificationModule, 0, ("***title***:"+title+"***content***:"+content).getBytes()), clients);
8、服务器端public class Protocol()类增加新字段,跟客户端对应:
/**
* 弹窗模块
*/
public static final int NotificationModule = 0X7000;
9、public class CenterServerShortHandler extends IoHandlerAdapter中的public static void registerModule()函数,同样需要增加新项目信息:
if(_moduleCode==Protocol.PATCH_MODULE || _moduleCode==Protocol.POLICY_MODULE || _moduleCode==Protocol.COMPUTER_INFO_MODULE || _moduleCode==Protocol.VIRUS_MODULE || _moduleCode==Protocol.REGISTRATION_MODULE || _moduleCode==Protocol.STATE_MODULE)
-------------------------至此,客户端新项目可以接收到服务器数据包了,但是弹窗代码提示引用错误,继续解决吧-----------------------------------
有感:项目客户端代码前辈果然是一位大神,每一句指导都很透彻,客户端框架和通信模块都是他写的,这两点我感觉是项目的难点。WCF技术,有机会我需要仔细研究下,逻辑之美。另外,WPF有机会也需要再次深入研究。跟随大神,收获颇大,也感受到编码、调试的乐趣,这是第一次遇到这么大的难点,以前开发可以网络借鉴的很多,这个方法不行就换一个,但是这次是在别人代码基础上修改和二次开发,理解代码的同时,感受到了代码逻辑之美。
有人说横向开发项目没用,我感觉的确费时间,不过多掌握一门技术总没错,成长很大,再接再厉!
标签:io os java ar 数据 art on 代码 c
原文地址:http://www.cnblogs.com/Shawn1943/p/3983918.html