y**b 发帖数: 10166 | 1 java程序, client可以登录、聊天、画图,这些信息要送到server,
(server验证帐号,以及把聊天文本或绘出的图像发送给其他clients)。
1.请问client端这些不同类型、不同时段、长度随时变化的数据,应该
用什么格式的stream发送呢?
2.server一个while循环怎么接收、识别这些不同类型的数据呢?
3.client也要接收数据,while循环岂不会造成blocked?
4.一对sockets之间,能不能某个时段传一种stream格式,另一个时段
传另一种stream格式?
5.比如我一边画图(每画一笔就传送出去,其他用户能收到),一边接收
对方聊天文本,一定需要两个线程吗?这两个同时运行的线程能否同时
与server进行传输? |
h***i 发帖数: 1970 | 2 用Ice或Corba吧
【在 y**b 的大作中提到】 : java程序, client可以登录、聊天、画图,这些信息要送到server, : (server验证帐号,以及把聊天文本或绘出的图像发送给其他clients)。 : 1.请问client端这些不同类型、不同时段、长度随时变化的数据,应该 : 用什么格式的stream发送呢? : 2.server一个while循环怎么接收、识别这些不同类型的数据呢? : 3.client也要接收数据,while循环岂不会造成blocked? : 4.一对sockets之间,能不能某个时段传一种stream格式,另一个时段 : 传另一种stream格式? : 5.比如我一边画图(每画一笔就传送出去,其他用户能收到),一边接收 : 对方聊天文本,一定需要两个线程吗?这两个同时运行的线程能否同时
|
g*****g 发帖数: 34805 | 3 最简单的方法是不要做任何底层的序列化反序列化。
而是在server和每个client上起一个RMI Server,
直接远程调方法就得。
比如user1跟user2聊天,user1吊server的
chat(user2, msg)
server收到后,直接在user2的RMI上调用chat(msg)
user2显示即可。
画图啥的,调另一个方法名就是。
如果你非要用raw socket,简单的你就对没一种操作定义一个
可序列化的对象。比如Chat和Draw,然后在接收端
Object o = is.readObject();
if(o instanceof Chat) {
Chat data = (Chat)o;
chat(data.from, data.to, data.message);
} else if(o instanceof Draw) {
//deserialize Draw and call draw function
}
如果你做的是真实项目,而用户不在局域网内。RMI因为
firewall的原因,在client端起是不可行的。你做的
【在 y**b 的大作中提到】 : java程序, client可以登录、聊天、画图,这些信息要送到server, : (server验证帐号,以及把聊天文本或绘出的图像发送给其他clients)。 : 1.请问client端这些不同类型、不同时段、长度随时变化的数据,应该 : 用什么格式的stream发送呢? : 2.server一个while循环怎么接收、识别这些不同类型的数据呢? : 3.client也要接收数据,while循环岂不会造成blocked? : 4.一对sockets之间,能不能某个时段传一种stream格式,另一个时段 : 传另一种stream格式? : 5.比如我一边画图(每画一笔就传送出去,其他用户能收到),一边接收 : 对方聊天文本,一定需要两个线程吗?这两个同时运行的线程能否同时
|
y**b 发帖数: 10166 | 4 多谢。java才看了两个星期,这个RMI只有个概念,还不会用,似乎很方便。
第二个方法我也想到了,虽然有点繁琐。
原意是做一个小画板,一个用户每画一笔其他用户都能看见,
一个用户画的时候其他用户不能画(mutex)。
【在 g*****g 的大作中提到】 : 最简单的方法是不要做任何底层的序列化反序列化。 : 而是在server和每个client上起一个RMI Server, : 直接远程调方法就得。 : 比如user1跟user2聊天,user1吊server的 : chat(user2, msg) : server收到后,直接在user2的RMI上调用chat(msg) : user2显示即可。 : 画图啥的,调另一个方法名就是。 : 如果你非要用raw socket,简单的你就对没一种操作定义一个 : 可序列化的对象。比如Chat和Draw,然后在接收端
|
f*****Q 发帖数: 1912 | |
g*****g 发帖数: 34805 | 6 不流行,这年头流行RESTful, hehe
【在 f*****Q 的大作中提到】 : 俺当年流行xmlrpc,不知道现在还流行不。
|
f*****Q 发帖数: 1912 | 7 狗一个。RESTful...
【在 g*****g 的大作中提到】 : 不流行,这年头流行RESTful, hehe
|