做聊天程序,发给服务器的都是字符,比如说转发信息就是 "sendto:发送者:接受者:信息正文"   "getlist:列表正文"设计到个人信息处理的时候,发现用符号给一大段个人信息打包很吃力啊,发送的时候要组织,接收的时候还要分解……如我想了几个方法,但好像都不太合理……1.序列化(对象有很多预设属性,网络开销大了)2.RMI调用(搞socket已经很吃力了,再搞rmi我要晕啦)3.直接ODBC远程访问(DB操作密码放在本地,不太合理啊)请教下,有没有更高效简便的处理方式?

解决方案 »

  1.   

    sendto:发送者:接受者:信息正文这就是你自己应用的通信协议。给个建议,你可以设计成sendto:发送者:接受者:XX\r\nYY (这写\r\n有点不合适,你可以用刷新先把XX前的传出去,接收端收到后解析,明白接下来的数据表示什么)
    其中XX用于注明YY是什么内容。比如XX=Object,表示传的YY是个序列化的对象;XX=String,表示传的是文字(可以拿来显示),等等。传对象时,你只需要把Bean类实现序列化,把要传的属性设置下就OK了;暂不传输的属性可为空。
    传个对象的网络开销也没多大,这点你不用担心。归根到底还是你设计的协议太弱,不支持一些动作。。 思考强化下就行了。 记着上学那会自个也写过这玩意,很适合练手。多思考思考。祝你早日完成!