java web 怎么判断用户网络连接类型

在java项目中,怎么判断客户端链接网络的是2G/3G/4G还是WIFI。?可以拿到客服端的IP

浏览器里的navigator.connection会返回相关状态
返回值 返回值 类型
0 unknown UNKNOWN
1 ethernet ETHERNET
2 wifi WIFI
3 2g CELL_2G
4 3g CELL_3G
5 4g CELL_4G(中国现在也会出现这个值,是hspa+)

var connection = navigator.connection||navigator.mozConnection||navigator.webkitConnection||{tyep:'unknown'}; var type_text = ['unknown','ethernet','wifi','2g','3g','4g','none']; alert(connection.type); var re_el = document.getElementById("re"); var btn_el = document.getElementById("btn"); function get_status(){ if(typeof(connection.type) == "number"){ connection.type_text = type_text[connection.type]; }else{ connection.type_text = connection.type; } if(typeof(connection.bandwidth) == "number"){ if(connection.bandwidth > 10){ connection.type = 'wifi'; }else if(connection.bandwidth > 2){ connection.type = '3g'; }else if(connection.bandwidth > 0){ connection.type = '2g'; }else if(connection.bandwidth == 0){ connection.type = 'none'; }else{ connection.type = 'unknown'; } } var html = 'Type : '+connection.type_text; html += '<br>Bandwidth : '+connection.bandwidth; html += '<br>isOnline : '+navigator.onLine; re_el.innerHTML = html; } btn_el.onclick = function(){ re_el.innerHTML = 'Waiting...'; get_status(); }

这个是js代码,你可以格式化下