如何解决获取错误连接被拒绝:连接鳄梨酱驱动的应用程序
您好,我正在创建鳄梨酱驱动的应用程序并收到错误 java.net.ConnectException:连接被拒绝:连接。我尝试了 guacamole Web 应用程序文档中给出的代码获取 java.net.ConnectException:连接被拒绝:连接错误
服务代码
@WebServlet
public class HttpTunnelServletController extends GuacamoleHTTPTunnelServlet {
private static final long serialVersionUID = 1L;
public static SimpleGuacamoleTunnel tunnel = null;
@Override
protected GuacamoleTunnel doConnect(HttpServletRequest request)
throws GuacamoleException {
// Create our configuration
GuacamoleConfiguration config = new GuacamoleConfiguration();
config.setProtocol("rdp");
config.setParameter("hostname","104.197.255.190:8080/guacamole");
config.setParameter("port","3389");
config.setParameter("password","guacamole");
// Connect to guacd - everything is hard-coded here.
GuacamoleSocket socket = new ConfiguredGuacamoleSocket(
new InetGuacamoleSocket("localhost",4822),config
);
// Return a new tunnel which uses the connected socket
return new SimpleGuacamoleTunnel(socket);
}
}
网页
<div class="col-sm-9 col-md-6 col-lg-8 col-xl-10">
<span class="border">
<form action="/GuacamoleHTTPTunnelServletController" >
<!-- Guacamole -->
<script type="text/javascript"
src="guacamole-common-js/all.min.js"></script>
<!-- display -->
<div id="display"></div>
<!-- Init -->
<script type="text/javascript"> /* <![CDATA[ */
// Get display div from document
var display = document.getElementById("display");
// Instantiate client,using an HTTP tunnel for communications.
var guac = new Guacamole.Client(
new Guacamole.HTTPTunnel("/tunnel")
);
// Add client to display div
display.appendChild(guac.getdisplay().getElement());
// Error handler
guac.onerror = function(error) {
alert(error);
};
// Connect
guac.connect();
// disconnect on close
window.onunload = function() {
guac.disconnect();
}
/* ]]> */ </script> <!-- Guacamole -->
<script type="text/javascript"
src="guacamole-common-js/all.min.js"></script>
<!-- display -->
<div id="display"><a href="tunnel">URL</a></div>
<!-- Init -->
<script type="text/javascript"> /* <![CDATA[ */
// Get display div from document
var display = document.getElementById("display");
// Instantiate client,using an HTTP tunnel for communications.
var guac = new Guacamole.Client(
new Guacamole.HTTPTunnel("tunnel")
);
// Add client to display div
display.appendChild(guac.getdisplay().getElement());
// Error handler
guac.onerror = function(error) {
alert(error);
};
// Connect
guac.connect();
// disconnect on close
window.onunload = function() {
guac.disconnect();
}
/* ]]> */ </script>
</form>
</span>
</div>
</div>
</div>
</div>
<!-- Init -->
<script type="text/javascript"> /* <![CDATA[ */
// Mouse
var mouse = new Guacamole.Mouse(guac.getdisplay().getElement());
mouse.onmousedown =
mouse.onmouseup =
mouse.onmousemove = function(mouseState) {
guac.sendMouseState(mouseState);
};
// Keyboard
var keyboard = new Guacamole.Keyboard(document);
keyboard.onkeydown = function (keysym) {
guac.sendKeyEvent(1,keysym);
};
keyboard.onkeyup = function (keysym) {
guac.sendKeyEvent(0,keysym);
};
/* ]]> */ </script>
还需要做哪些配置。提前致谢
解决方法
Java 代码中存在配置问题。 GuacamoleConfiguration
对象应具有您要连接的目标机器(windows)的配置。
在您的情况下,您使用的是 RDP
协议,因此 hostname
应该包含您要连接的 Windows 机器的地址。当使用 username
协议时,目标 Windows 机器的 password
和 RDP
是必需的。如果您使用域用户,则还应指定 domain
参数。
我相信您的代码的基础来自 Guacamole 示例。此示例说明如何连接到不需要用户名的 VNC
服务器。一般来说,连接windows的基本配置应该是这样的:
// Create our configuration
GuacamoleConfiguration config = new GuacamoleConfiguration();
config.setProtocol("rdp");
config.setParameter("hostname","104.197.255.190"); // IP or fqdn of the windows machine,no URL
config.setParameter("port","3389");
config.setParameter("username","some-windows-user");
config.setParameter("password","some-windows-user-password");
config.setParameter("domain","windows-domain-if-exists");
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。