关于面向对象 做一个即时通讯平台 面向对象是一种思想, 不是你做什么东西就必须用这种思想。Java本身是一种面向对象的语言,面向对象 这个概念建议你去仔细理解下。否则你根本没办法按面向对象的思想进行设计。至于类似QQ的通讯工具,这个可以看看socket网络编程。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 看下网络编程,是client-server的模式,先保证通讯,然后在添加更多功能 前年用C#做过一个,不过找不到了。不然放到下载里,还可以赚点积分。思路么:1、要定义一个通信协议,当然要定义数据包的格式,包含包头和包体。2、因为包头是固定的,里面有包的类型(登录、登出还是发消息等等),所以可以定义为一个class。3、包体可以定义为各种不同的class。4、包可以定义为一个泛型class,不过考虑到并不使用,改为每种包一个class,包含头和体两个属性。5、定义出装包和拆包两个工具类。6、定义一个输入流、一个输出流,用来传输包。6、以上各个类型放在一个库(.dll或者.jar或者.so)中,由服务端和客户端共同调用,库中要有版本号以供通讯双方判断是否一致。7、下面自由发挥吧…… 建议你看一些Socket方面的资料 java socet tcp/ip不错 关于JTable的渲染器和编辑器 为什么递归出现异常? java数据库连接疑惑 StackOverflowError 应该没用到递归 Socket读取时抛错java.net.SocketException: Connection reset jtable 设置vector有错 这些代码如何弄成我想要?拿我的进去 麻烦帮偶看下这个简单的正则怎么不能匹配? 请高手进来帮忙看看我的程序哪里出问题!为什么不执行构造函数! 如何在控制台实现回车确认??? 数据库高手请进、分地区 排行统计 instanceof
思路么:
1、要定义一个通信协议,当然要定义数据包的格式,包含包头和包体。
2、因为包头是固定的,里面有包的类型(登录、登出还是发消息等等),所以可以定义为一个class。
3、包体可以定义为各种不同的class。
4、包可以定义为一个泛型class,不过考虑到并不使用,改为每种包一个class,包含头和体两个属性。
5、定义出装包和拆包两个工具类。
6、定义一个输入流、一个输出流,用来传输包。
6、以上各个类型放在一个库(.dll或者.jar或者.so)中,由服务端和客户端共同调用,库中要有版本号以供通讯双方判断是否一致。
7、下面自由发挥吧……
不错