① 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/工程名称,就可以访问了!