1、java 如何在伺服器端用socket創建一個監聽埠,並對接受的數據進行處理,埠號為3333,請高手指點一下
我百度HI你好了
public class Test {
public static void main(String[] args) {
Test1 t=new Test1();
t.start(); //啟動線程
}
}
/**
* 繼承一個線程類
* @author Administrator
*
*/
class Test1 extends Thread{
private ServerSocket server = null;
public Test1(){
try {
server=new ServerSocket(3333);
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("服務端初始化失敗!");
}
}
/**
* 繼承父類方法
*/
public void run(){
Socket clientSocket = null;
DataInputStream dis =null;
DataOutputStream dos=null;
String str="";
while(true){
try {
clientSocket=server.accept();
dis = new DataInputStream(clientSocket.getInputStream());//獲取輸入流,用於接收客戶端發送來的數據
dos = new DataOutputStream(clientSocket.getOutputStream());//獲取輸出流,用於客戶端向伺服器端發送數據
str=dis.readUTF(); //這里是客戶端發送來的數據
/*
* 這里邊你就可以做你想操作的事情了
*/
dos.writeUTF("這里是返回到客戶端的數據");//這里用來向客戶端返回數據
dis.close();
dos.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
2、java 怎麼獲取web容器的ip和埠號
request.getRemoteAddr();IP獲取
request.getRemotePort(): 埠號
3、用java監聽埠,怎麼獲取伺服器的返回值?能用requset嗎?
如果是web項目的話可以用request等對象來獲取,
如果是socket項目的話要通過流來獲取
4、怎麼在tomcat啟動時自動執行一個java類 獲得本項目伺服器的IP和埠
@PostConstruct
public void init() {
try {
MBeanServer beanServer = ManagementFactory.getPlatformMBeanServer();
Set<ObjectName> objectNames = beanServer.queryNames(new ObjectName("*:type=Connector,*"),
Query.match(Query.attr("protocol"), Query.value("HTTP/1.1")));
serverIp = InetAddress.getLocalHost().getHostAddress();
serverPort = objectNames.iterator().next().getKeyProperty("port");
} catch (Exception e) {
e.printStackTrace();
}
}
這段代碼可以獲取到,但是存在一個問題就是在Linux環境下啟動項目的時候,
objectNames.iterator().next().getKeyProperty("port");這句會拋出異常:
java.util.NoSuchElementException。如果僅僅是在Windows下的話,上面的代碼完全OK
5、Java網路編程獲取埠
客戶端不能指定自己的埠
~~~~~~~~~
6、如何用java程序獲得本機的埠號?
你是不是想在JSP裡面,想獲取當前伺服器的埠呢?如果是的話,在JSP裡面,回代碼是:request.getLocalPort();
如果想獲取客答戶端的埠,JSP代碼是:request.getRemotePort();
你的問題描述的不是很清楚,很難確切的回答你。
7、java 如何獲取指定埠數據
你這個說的太簡略了,至少說下用的是什麼技術啊,是rmi還是socket,還是http。。。反正實現不一樣的話,可能獲取方式就不一樣了哦
8、Java中伺服器端ServerSocket對象怎麼獲取伺服器端地址和埠號??,怎麼獲取遠程請求的
ServerSocket s = new ServerSocket(8888);
while (true) {
// 建立連接
Socket socket = s.accept();
/ /getInetAddress()獲取遠程ip地址,getPort()遠程客戶端的斷後好
"你好,客戶端地址信息: " + socket.getInetAddress() + "\t客戶端通信埠號: " + socket.getPort()
9、java的servlet 不通過request能獲取到伺服器IP與提供的埠號嗎。
所以javascript可以通過ajax技術來獲得後端語言得到的IP,並返回到前端。
1:通過java的servlet獲取IP:
public String getRemoteAddress(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if (ip == null || ip.length() == 0 || ip.equalsIgnoreCase("unknown")) {
ip = request.getRemoteAddr();
}
return ip;
}
如果是用反向代理技術的話request.getHeader("x-forwarded-for");會有值,
一般情況下,只要request.getRemoteAddr();就可以了。
2:獲取MAC:
public String getMACAddress(String ip) {
String str = "";
String macAddress = "";
try {
Process p = Runtime.getRuntime().exec("nbtstat -a " + ip);
InputStreamReader ir = new InputStreamReader(p.getInputStream());
LineNumberReader input = new LineNumberReader(ir);
for (int i = 1; i < 100; i++) {
str = input.readLine();
if (str != null) {
//if (str.indexOf("MAC Address") > 1) {
if (str.indexOf("MAC") > 1) {
macAddress = str.substring(
str.indexOf("=") + 2, str.length());
break;
}
}
}
} catch (IOException e) {
e.printStackTrace(System.out);
}
return macAddress;
}
通過命令nbtstat -a ip來獲得該ip相對應的mac地址。
10、java 怎麼獲取web容器的ip和埠號
<tr>
<td width="50%"><%= request.getServerName()%> </td>
<td height="4">伺服器復的制域名</td>
</tr>
<tr>
<td width="50%"><%= java.net.InetAddress.getLocalHost().getHostAddress() %> </td>
<td height="4">伺服器的IP地址</td>
</tr>
<tr>
<td width="50%"><%=request.getServerPort()%> </td>
<td height="5">伺服器正在運行的埠</td>
</tr>