Address already in use: bind 解决端口号被占用
端口号占用解决端口号占用解决端口号占用解决服务端main程序已经启用,再次运行main程序,则会报告端口号被占用的错误。下面是解决办法1.WIN+R键(Windows图标键和字母R键)打开运行窗口2.打开黑窗口(DOS窗口),输入命令 netstat -ano 查看当前端口号3.确定自己的程序使用的端口号,一定要准确,不然会误操作关闭了其它进程,带来不必要的麻烦比如我的程序...
·
端口号占用解决
端口号占用解决
服务端main程序已经启用,再次运行main程序,则会报告端口号被占用的错误。下面是解决办法1.WIN+R键(Windows图标键和字母R键)打开运行窗口
![运行窗口](https://img-blog.csdnimg.cn/20190527155716954.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzNTQ2MzMw,size_16,color_FFFFFF,t_70)
![DOS窗口查看进程对应的端口号](https://img-blog.csdnimg.cn/2019052716160782.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzNTQ2MzMw,size_16,color_FFFFFF,t_70)
public static void main(String[] args) {
// 通信器
Communicator ic = null;
// 初始化通信器
ic = Util.initialize(args);
// 创建ICE适配器,将服务调用地址和服务映射起来
// “HelloServiceAdapter”是适配器名,“default -p 1888”是服务调用的地址
ObjectAdapter adapter = ic.createObjectAdapterWithEndpoints("HelloServiceAdapter", "default -p 1888");
// 将服务的具体实现类servant交给这个适配器
Ice.Object servant = new HelloI();
// "HelloIce" 服务接口在ICE中的注册名,转成唯一标识identity
Identity id = Util.stringToIdentity("HelloIce");
adapter.add(servant, id);
// 激活这个适配器
adapter.activate();
log.info("Server服务器容器启动成功!");
}
这里明确了端口号是1888,所以我们找端口号为1888的进程PID
报错信息如下: Address already in use: bind
Exception in thread "main" Ice.SocketException
error = 0
at IceInternal.Network.doBind(Network.java:307)
at IceInternal.TcpAcceptor.listen(TcpAcceptor.java:35)
at IceInternal.IncomingConnectionFactory.createAcceptor(IncomingConnectionFactory.java:591)
at IceInternal.IncomingConnectionFactory.<init>(IncomingConnectionFactory.java:411)
at Ice.ObjectAdapterI.<init>(ObjectAdapterI.java:1040)
at IceInternal.ObjectAdapterFactory.createObjectAdapter(ObjectAdapterFactory.java:169)
at Ice.CommunicatorI.createObjectAdapterWithEndpoints(CommunicatorI.java:101)
at com.zgd.ice.service.impl.HelloServer.main(HelloServer.java:21)
Caused by: java.net.BindException: Address already in use: bind
at sun.nio.ch.Net.bind0(Native Method)
at sun.nio.ch.Net.bind(Net.java:433)
at sun.nio.ch.Net.bind(Net.java:425)
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
at IceInternal.Network.doBind(Network.java:301)
... 7 more
![根据端口号确认进程PID](https://img-blog.csdnimg.cn/2019052716274625.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzNTQ2MzMw,size_16,color_FFFFFF,t_70)
![根据端口号确认进程PID](https://img-blog.csdnimg.cn/20190527163254901.png)
![根据进程名称“杀死”相关进程](https://img-blog.csdnimg.cn/20190527163721962.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzNTQ2MzMw,size_16,color_FFFFFF,t_70)
注意:
一般来说,java执行过程中出现端口号占用的情况,而又不清楚占用的端口号是多少,则可以在任务管理器中直接“杀死” javaw.exe进程解决
![直接杀死javaw.exe进程](https://img-blog.csdnimg.cn/20190527164358291.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzNTQ2MzMw,size_16,color_FFFFFF,t_70)
更多推荐
所有评论(0)