首页 > 代码库 > javaScript 检测 是否可以连接指定服务器

javaScript 检测 是否可以连接指定服务器

本文主要讲述如何在js里面从多个服务端servlet中找到可用的地址

一般项目部署到生产环境之后会有一个生产网段(就是你可以在家访问)和一个办公网段(只能在公司才能访问)。

我们的项目部署好了之后,外部系统调用我们的servlet 这个时候就需要检测联哪一个地址,意思就是 需要在js里面检测到底要连哪个地址

具体js代码如下:

 

		function getXhr() {
			var httpreq = null;
			//由于涉及跨域问题,这里优先使用ActiveXObject
			if (window.ActiveXObject) {
				try {
					httpreq = new ActiveXObject("Msxml2.XMLHTTP");
				} catch (e) {
					try {
						httpreq = new ActiveXObject("Microsoft.XMLHTTP");
					} catch (e) {
					}
				}
			} else if (window.XMLHttpRequest) {
				httpreq = new XMLHttpRequest();
			}
			return httpreq;
		}
		
		function checkIsConnect(url) {
			var xmlhttp = getXhr();
			xmlhttp.open("GET", url, false);
			try {
				xmlhttp.send(null);
			} catch (e) {
				return false;
			}
			if (xmlhttp.readyState == 4) {
				//readyStatud == 4 表示与服务端完成交互,即可以连接
				return true;
			}
			return false;
		}
		function test() {
			var urls = new Array("http://zhw:7001/CommonWeb/",
					"http://127.4.0.1:7001/finance/",
					"http://zhw:7031/CommonWeb/");
			var checkUrl = null;
			for (var i = 0; i < urls.length; i++) {
				if (checkIsConnect(urls[i] + "testServlet")) {
					checkUrl = urls[i];
					break;
				}
			}
			if (checkUrl != null) {
				//获取到可用服务器地址之后的逻辑处理

			} else {
				alert("IP检测无可连接的网络服务,请检查网络连接或确认服务端配置!服务端配置地址如下:" + urls);
			}
		}

 


 

javaScript 检测 是否可以连接指定服务器