日期:2014-05-20  浏览次数:20714 次

网络通信,大家来指点下
服务器和客户端已经可以正常的收发数据了,想写个聊天的小程序,但是现在的问题是我通信之间发送的是一个message的对象
接收后通过解析类里面的CMD来区分客户端是登录还是请求局域网里面的人列表,或者是发消息给谁。现在发现这样做好像很麻烦,不知道大家做网络的时候网络协议是怎么搞的
------解决方案--------------------
协议需要自己定义啊,你都直接传对象了,那还有什么麻烦的啊。
如果是直接传二进制字节码,那你岂不是觉得更麻烦。
------解决方案--------------------
引用:
Quote: 引用:

协议需要自己定义啊,你都直接传对象了,那还有什么麻烦的啊。
如果是直接传二进制字节码,那你岂不是觉得更麻烦。

还有个问题,如果消息类里面包含网内用户列表的话,list的长度就是可变的,message的属性就包含可变东西,不知道还能不能接收成功。试试


你如果直接传对象,就不存在什么长度的问题。

如果不是直接传对象,而是自定义的协议传送,那你可以在每个数据包开头的位置说明数据包的大小。
------解决方案--------------------
网络通信,应用层当然要有自己定义的协议。
通信协议在实现起来,都是很麻烦的。如果想简单点,那就找找JMS方面的框架好了。

使用ObjectOutputStream或ObjectInputStream传输文件