本人是Java新手,在做一个Web应用中,需要在页面里嵌入一个网络通信的工具,类似于QQ,MSN那种(最起码能实现文字消息的传输)。本来想用applet做,但在查阅Java2 核心技术 卷I时,里面说由于安全性原因,applet的行为受到限制(被称为“沙箱”的执行环境),不能运行本地任何程序,不能与其他主机通信,不能对本地文件系统进行读写操作等等。这是不是意味着我用applet实现这种工具是不可行的?如果可行,应该怎么做?如果不可行,有没有别的什么技术实现?(是不是可以采用类似聊天室那样来实现啊?)

解决方案 »

  1.   

    这方面我没有实际编过代码,但有一些思路可以交流一下:
    一、对applet进行数字签名,使其成为受信任的applet
    二、applet不能与其它主机通信,但是可以与下载的机器通信,一个思路能否把下载的服务器做成proxy,A机要与B机通信,能否通过PROXY中转一下,这只是我的一个想法,不知道能否成功,请尝试一下
    不同网页内的APPLET通信 http://tech.ccidnet.com/pub/article/c1084_a105210_p1.html
    这篇文章你也可以参考一下
      

  2.   

    applet的安全性受到了限制
      

  3.   

    感谢cgliang00给的帮助,对于你给的第二种建议我觉得可能不太适合。因为我最终可能不仅需要传文字消息,还要加入语音甚至视频的功能。所以我还是选择applet。
       我也查阅了一些Java安全性方面的资料,由于是新手,感觉概念还是很乱。里面讲了加密,权限,签名一大堆东西。我也不知道如果使用applet实现需要主要了解哪些!有谁有这方面编程经验吗?给点意见!
       我采用applet能实现到底可行吗?我看有些聊天室也能实现文字和语音甚至图像的传输啊!
      

  4.   

    对Applet数字签名可以解决问题用Applet可以达到你想要的功能,我刚刚给一个学校做了个‘英语聊天室’,文字语音都实现了对于一些Web的语音聊天室,它们其实也是靠插件来与服务器端程序通讯的,下载安装插件也是件危险的事情,相对而言Java好多了。
      

  5.   

    其实一开始我也为选择Applet还是选择web聊天室之类的东西为难。两者都可以实现文字和语音的通信。但我这边还要用JAIN包做个基于SIP的终端,所以我想还是想用applet做吧!
       另外我第一次发贴,请问怎么散分啊?