① java中如何檢測本機指定的UDP服務埠是否被佔用並且自動分配一個可用udp埠
用於接收和發送UDP的Socket實例。該類有3個構造函數:
DatagramSocket():通常用於客戶端編程,它並沒有特定監聽的埠,僅僅使用一個臨時的。程序會讓操作系統分配一個可用的埠。
DatagramSocket(int port):創建實例,並固定監聽Port埠的報文。通常用於服務端
DatagramSocket(int port, InetAddress localAddr):這是個非常有用的構建器,當一台機器擁有多於一個IP地址的時候,由它創建的實例僅僅接收來自LocalAddr的報文。
DatagramSocket具有的主要方法如下:
1)receive(DatagramPacket d):接收數據報文到d中。receive方法產生一個「阻塞」。「阻塞」是一個專業名詞,它會產生一個內部循環,使程序暫停在這個地方,直到一個條件觸發。
2)send(DatagramPacket dp):發送報文dp到目的地。
3)setSoTimeout(int timeout):設置超時時間,單位為毫秒。
4)close():關閉DatagramSocket。在應用程序退出的時候,通常會主動釋放資源,關閉Socket,但是由於異常地退出可能造成資源無法回收。所以,應該在程序完成時,主動使用此方法關閉Socket,或在捕獲到異常拋出後關閉Socket。
② java寫的通訊短鏈接客戶端,老是會報埠被佔用的錯誤,跪求高手幫忙分析下是什麼問題
如果你的伺服器端有其他的程序將該埠佔用,那麼你這個程序就要另外開啟其他埠。如果其他程序釋放了該埠,你再次連接的時候就會成功。希望對你有幫助。
③ 伺服器80埠被java.exe佔用怎麼辦
你好:
啟動任務管理器
在任務管理器里--》進程—》java.exe 找到 java.exe結束進程就好了!
④ java語言關閉某個指定的埠
此方法實現Closeable
這個是官方的api
closepublic void close()
throws IOException關閉此輸入流並釋放與此流關聯的所有系統資源。此方法只執行 in.close()。
指定者:介面 Closeable 中的 close覆蓋:類 InputStream 中的 close拋出:IOException - 如果發生 I/O 錯誤。
另請參見:in
⑤ java中socket函數,每次出錯再運行時便告訴我埠被佔用
很明顯的告訴了你上次調試的程序沒有完全結束,埠還在被佔用。
確保程序無情退出的時候埠被釋放掉。
解決:
打開任務管理器把你認為是上次調試的JAVAW.exe程序幹掉就好了
⑥ java中埠號被佔用怎麼解決感激不盡
Java中修改tomcat的默認埠號,運行WEB項目的時候都要在tomcat環境中,它的默認埠號是8080,有時想要佔用這個埠號而又想運行web項目時,就需要去修改它的默認埠,具體做法:
1、打開 jakarta-tomcat-5.5.9\conf\server.xml 找到如下代碼:
<!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 --><Connector port="8080"maxThreads="150" minSpareThreads="25" maxSpareThreads="75"enableLookups="false" redirectPort="8443" acceptCount="100"debug="0" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK"/>
2、上面的port=8080就是它所用的埠號,可以把它修改為80(瀏覽器的默認埠),這樣就可以在編輯它時直接輸入http://localhost/工程名稱,就可以訪問了!