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

rmi中,服务器如何向客户端发信息
public void sendMessage(String name,String message)throws java.rmi.RemoteException
{
System.out.println(name);
System.out.println(message);
Iterator itr=ClientDaos.iterator();
while(itr.hasNext())
{
UserInfo u=(UserInfo)itr.next();
ClientDao clientdao=u.getClientDao();
clientdao.receiveMessage(name, message);
}
notifyListener(name+":"+message);
}这是服务器端的相应代码
public void receiveMessage(String name,String message)
{
System.out.println(name);
System.out.println(message);
//text.append(name + ": " + message);
}这是客户端的相应代码
server=(ServerDao)java.rmi.Naming.lookup("//"+serveradd+"/Server");server.sendMessage(name, message);
客户端通过上面这段代码发消息给服务器,为什么最后结果是在服务器端输出4条语句,而不是客户端2条,服务器2条

------解决方案--------------------
我也想知道,服务端怎么向客户端发信息
------解决方案--------------------
我们现在也用到RMI远程调用,当有客户端请求上来时,我们做的是让服务器端组织相应的命令报文以socket报文形式发给客户端