Java Socket Bridge无法连接

时间:2015-05-06 20:27:45

标签: java javascript php sockets

我有一个大学代表队的项目,我们应该使用Java Socket Bridge连接到聊天服务器(这至少是我对项目的理解)。

所以根据this github页面,你应该把它添加到你的脑袋

<script type="text/javascript" src="java_socket_bridge.js"></script>

这是你的身体

<applet id="JavaSocketBridge" archive="JavaSocketBridge.jar" code="JavaSocketBridge.class" width="0" height="0"></applet>

我已经这样做了,我还运行了make.sh文件来生成jar文件。 这是我的php文件:

<?php session_start(); ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta charset="utf-8">
        <script type="text/javascript" src="java_socket_bridge.js"></script>
        <title>ValidateLogin</title>
    </head>
    <body>
        <?php
            $ip = $_POST['ip'];
            $port = $_POST['port'];
            $_SESSION['sid'] = session_id();
            $_SESSION['ip'] = $ip;
            $_SESSION['port'] = $port;
            // header("location: Game.php");
            echo '  <applet id="JavaSocketBridge" code="JavaSocketBridge.class" archive="JavaSocketBridge.jar" height="0" width="0"></applet>';
            echo "  <script>
                        console.log(document.getElementById('JavaSocketBridge'));
                        if(socket_connect('".$ip."', '".$port."'))
                        {
                            console.log('connected!');
                        }
                        else
                        {
                            console.log('not connected!');
                        }
                    </script>";
        ?>
    </body>
</html>

所以我的问题是,当我调用socket_connect()函数时,我的Web控制台会显示

  

“Java套接字桥在applet加载之前无法连接”   “没有连接!”

我试过调用java_socket_bridge_ready()函数(尽管没有指定这样做)然后Web控制台显示:

  

TypeError:get_java_socket_bridge(...)。connect不是函数

在java_socket_bridge.js文件的第39行。

我在这个问题上找不到任何帮助,我一整天都在寻找。我正在使用Ubuntu 14.04以及最新的firefox和XAMPP来运行我的网络服务器。

1 个答案:

答案 0 :(得分:0)

我发现我必须在浏览器中启用Java。我在Java网站上使用了this页面,了解如何在浏览器中安装和启用Java。