function getHttp(data, url, callback, error) {
$.ajax({
type: "post",
url: url,
data: data,
async: true,
dataType: 'json',
success: callback,
error: error
});
}
//获取线路
function vpnGetLine() {
var url = "http://89.172.105.50:8003/vpn/vpnLineList"
//var url = "http://api.leaigod.top/vpn/vpnLineList"
console.log(game_id);
console.log(token);
getHttp({
account_token: token,
game_id: game_id,
type: 4,
client_ip:ip_address
},
url,
function(data) {
if (data && data.code == 0) {
var result = data.data;
console.log(result);
// line_id = result.list[0].line_id;
// console.log(line_id);
var lines = result.list;
var latitude = result.latitude;
var longitude = result.longitude;
if(lines!="" && lines.length>0){
if(lines.length<=3){
//线路小于3条全部返回
lines_array = [];
$.each(lines,function(index,val){
lines_array[index] = {"ip":val.speed_ip, "latency":val.server_delays,"line_id":val.line_id};
});
var str = {"type":"get_latency","server_list":lines_array}
var str_pretty1 = JSON.stringify(str);
ws.send(str_pretty1);
console.log(str_pretty1);
}else{
//大于3条需通过经纬度选最近3条
var array = [];
$.each(lines,function(index,val){
//先通过经纬度计算距离
var distacne = getDistance(latitude,longitude,val.latitude,val.longitude);
console.log(distacne);
array[index] = {"ip":val.speed_ip, "latency":val.server_delays,"dis":distacne
,"line_id":val.line_id};
});
//安装经纬度距离排序
array.sort(function(a,b){
return a.dis-b.dis;
})
//获取前三条距离最近的线路
lines_array = array.slice(0,3);
var str = {"type":"get_latency","server_list":lines_array}
var str_pretty1 = JSON.stringify(str);
console.log(str_pretty1);
ws.send(str_pretty1);
}
}
}
})
}