當前位置:首頁 » 編程語言 » java監聽埠

java監聽埠

發布時間: 2022-05-16 18:50:53

java如何進行監聽某個埠

寫個socket監聽就可以了啊

❷ 在套頭字編程中,伺服器方需用到java類什麼來監聽埠

可以參考一下這段代碼

//1. 構造ServerSocket實例,指定服務埠。
ServerSocket servSock = new ServerSocket(servPort);

while(true)
{
// 2.調用accept方法,建立和客戶端的連接
Socket clntSock = servSock.accept();
SocketAddress clientAddress =
clntSock.getRemoteSocketAddress();
System.out.println("Handling client at " + clientAddress);

// 3. 獲取連接的InputStream,OutputStream來進行數據讀寫
InputStream in = clntSock.getInputStream();
OutputStream out = clntSock.getOutputStream();

while((recvMsgSize = in.read(receiveBuf)) != -1)
{
out.write(receiveBuf, 0, recvMsgSize);
}
// 4.操作結束,關閉socket.
clntSock.close();
}

❸ java 一個伺服器如何一直監聽兩個埠,就是讓那兩個埠的accpet( )一直處於 while(true)狀態。

你是因為什麼原因要終止這個線程的呢?直接把這個serverSocket close掉不行么?
如果你是因為程序出錯,埠又被佔用。可以這樣查殺佔用埠的進程。。。
netstat -na -o 找到佔用1234埠的進程號
taskkill /pid 進程號
這樣就可以殺死那個進程了····
如果是要在程序中控制的話,用close方法,然後把那個serverSocket置為null應該就可以了吧。。。
而且樓上說得對,你的程序本來就有問題,serverSocket 的實例話就不應該也在循環裡面,估計你是接受到一個客戶端以後,new 一個serverSocket ,繼續綁定1234埠報錯,所以才來提問的。這個是你程序的問題,並不需要去殺死那個什麼線程。。。

❹ 如何用JAVA代碼監聽某個開放埠

比如我要監聽1234這個埠,代碼如下:
String ip = "127.0.0.1";
int port = 1234;
try {
Socket socket = new Socket(ip, port);
socket.setSoTimeout(5539900);
java.io.OutputStream out = socket.getOutputStream();

byte[] date = "hello world".getBytes();
out.write(data);
out.flush();
byte[] buffer = new byte[1024];
int len = -1;
java.io.FileOutputStream fout = new java.io.FileOutputStream(
"d:/response.txt");
java.io.ByteArrayOutputStream bout = new java.io.ByteArrayOutputStream();
java.io.InputStream in = socket.getInputStream();
while ((len = in.read(buffer, 0, buffer.length)) > 0) {
bout.write(buffer, 0, len);
}
in.close();
bout.flush();
bout.close();

byte[] rdata = bout.toByteArray();
System.out.println(new String(rdata));

fout.write(rdata);
fout.flush();
fout.close();
socket.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

伺服器端的

ServerSocket ss = new ServerSocket(1234);
Socket socket=null;
BufferedReader in;
PrintWriter out;

while (true) {
socket = ss.accept();
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out = new PrintWriter(socket.getOutputStream(),true);
String line = in.readLine();
out.println("you input is :" + line);
out.close();
in.close();
socket.close();
}

❺ java web應用如何獲取監聽埠號

如果是在jsp頁面上

<%
intport=request.getServerPort();
%>

如果是在controller層java代碼中

intport=request.getServerPort();//springMVC【request作為參數】或者servlet作為controller
intport=ServletActionContext.getRequest().getServerPort();//struts2版

了解一下requestjava WEB開發基礎知識

❻ JAVA中如何監聽一個埠來進入收和發信息!

String ip = "127.0.0.1";
int port = 1234;
try {
Socket socket = new Socket(ip, port);
socket.setSoTimeout(5539900);
java.io.OutputStream out = socket.getOutputStream();

byte[] date = "hello world".getBytes();
out.write(data);
out.flush();
byte[] buffer = new byte[1024];
int len = -1;
java.io.FileOutputStream fout = new java.io.FileOutputStream(
"d:/response.txt");
java.io.ByteArrayOutputStream bout = new java.io.ByteArrayOutputStream();
java.io.InputStream in = socket.getInputStream();
while ((len = in.read(buffer, 0, buffer.length)) > 0) {
bout.write(buffer, 0, len);
}
in.close();
bout.flush();
bout.close();

byte[] rdata = bout.toByteArray();
System.out.println(new String(rdata));

fout.write(rdata);
fout.flush();
fout.close();
socket.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

伺服器端的

ServerSocket ss = new ServerSocket(1234);
Socket socket=null;
BufferedReader in;
PrintWriter out;

while (true) {
socket = ss.accept();
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out = new PrintWriter(socket.getOutputStream(),true);
String line = in.readLine();
out.println("you input is :" + line);
out.close();
in.close();
socket.close();
}

❼ 用java監聽埠,怎麼獲取伺服器的返回值能用requset嗎

如果是web項目的話可以用request等對象來獲取,
如果是socket項目的話要通過流來獲取

❽ JAVA被佔用埠的監聽

1.調用系統命令, netstat -ano| grep <埠號>(linux)如果有記錄則說明該埠被佔用。
2.試圖建立該埠號的socket鏈接。如果返回埠已綁定的錯誤,就說明被佔了。

❾ java Socket編程中,為什麼監聽多個埠時出現有一個埠無法接受到信息,需要用到線程嗎

您好,提問者:
其實線程的問題還是很難解決的,因為是隨機的 。

但是也不是沒有解決辦法,是這樣的,有些功能是必須用到線程的,如果不用線程的話,可能會有接收不到的數據、停止後台超時等錯誤,建議使用線程。。。
舉例:比如坦克大戰、撲克牌,不用線程是無法完成的,也不是無法完全,就是會數據接收不到。

❿ 伺服器上如何運行Java程序這個程序主要是監聽某個埠是否有信息的打包->上傳->命令行運行

1.先安裝j2sdk
我安裝路徑是:D:\Program Files\Java\j2sdk

2.再安裝eclipse
Eclipse是綠色軟體,不需要安裝,把下載回來的eclipse壓縮解壓就可以了
我安裝的路徑是:D:\Program Files\Java\eclipse

3.安裝tomcat
下載回來的是一安裝文件,按照安裝提示進行就可以了
我安裝的路徑是:D:\Program Files\Java\Tomcat

4.安裝eclipse插件
中文包
直接將壓縮包NLpack-eclipse-SDK-3.0.x-win32內features和plugins兩文件夾內的內容解壓到eclipse文件夾內同名文件夾就可以了。
Tomcat插件
將壓縮包tomcatPluginV3解壓,把plugins文件夾內的內容解壓到eclipse文件夾內同名文件夾就可以了。

三.環境配置

1.系統環境變數配置
右擊「我的電腦」->高級->環境變數,
設置JAVA_HOME變數指向其安裝的目錄「D:\Program Files\Java\j2sdk」;
TOMCAT_HOME變數指向其安裝的目錄「D:\Program Files\Java\Tomcat」;
PATH變數中含有「%JAVA_HOME%\bin;」;
CLASSPATH變數含有「%JAVA_HOME%\lib\tools.jar;」;

2.eclipse中java運行環境的配置
在eclipse主窗口中,「窗口」->首選項->java->已安裝的JRE,選我們已經安裝的j2sdk

3. 配置Sysdeo Tomcat 插件
在eclipse主窗口中,「窗口」->首選項->tomcat,tomcat version 選 version 5.x(我們安裝的版本),tomcat home 處填我們安裝tomcat的路徑,這里就是D:\Program Files\Java\Tomcat。
切換到Advanced選項,在tomcat base處再填我們安裝tomcat的路徑,這里就是D:\Program Files\Java\Tomcat。
切換到JVM Setting選項,確定jre是你已經安裝的j2sdk版本,我們這里選j2sdk。
切換到Tomcat Manger App,為管理界面增加一個用戶。
最後按應用按鈕,然後在確定。

熱點內容
Pua腳本 發布:2025-05-14 19:24:56 瀏覽:448
蘋果像素低為什麼比安卓好 發布:2025-05-14 19:13:23 瀏覽:459
安卓機微信怎麼設置紅包提醒 發布:2025-05-14 19:00:15 瀏覽:271
androidsystem許可權設置 發布:2025-05-14 18:56:02 瀏覽:970
mq腳本 發布:2025-05-14 18:45:37 瀏覽:25
仙境傳說ro解壓失敗 發布:2025-05-14 18:45:01 瀏覽:868
betweenand的用法sql 發布:2025-05-14 18:39:25 瀏覽:250
tplink攝像頭存儲卡格式化 發布:2025-05-14 18:37:08 瀏覽:347
安卓平板怎麼安裝excel的軟體 發布:2025-05-14 18:35:44 瀏覽:42
廣州數控圓弧編程實例 發布:2025-05-14 18:25:00 瀏覽:401