======================================================
注:本文源代码点此下载
======================================================
java.net.bindexception: address already in use: jvm_bind
at java.net.plainsocketimpl.socketbind(native method)
at java.net.plainsocketimpl.bind(unknown source)
at java.net.serversocket.bind(unknown source)
at java.net.serversocket.(unknown source)
at java.net.serversocket.(unknown source)
at mypackage.webserver.startserver(webserver.java:13)
at mypackage.webserver.main(webserver.java:33)
这是我学javaweb遇到的第一个错误,解决花了一些时间。看到错误不要害怕,因为解决错误的同时,正是我们经验值增长也在增长的哦
这个是我在使用socket和多线程实现一个javaweb服务器时遇到的
address already in use 这句话是地址已经使用
这个是遇到这个问题的可能情况
i.就是当前端口已经有别的程序在占用着,所以要么把占用这个端口的程序关闭,要么重新换一个端口
ii.端口号被占用,如果你有装oracle的话,有可能是oracle使用了8080端口,oracle安装后并且如果启动了oraclehttp服务会占用8080端口
iii.我认为很可能是多启动了几次tomcat,在eclipse下重复启动tomcat就会出现这个问题,你去调查一下看看是否是这个原因.
iv.如果不是windows操作系统,那么80端口已经被占用.如果是windows操作系统.请检查是否装有iis.
查找问题原因:我的机子还没有装oracle,并且使用的是windows操作系统,装了iis了,使用的是80端口,但我这个程序是用的8080端口,排除了ii、iv。i说的笼统了点,我的问题是iii多启动了几次tomcat,在eclipse下重复启动tomcat就会出现这个问题
解决方法:
1.把myeclipse关掉后台的javax.exe进程杀掉。然后重新启动myeclipse就可以了
2. 把tomcat\conf文件夹里面的server.xml的端口换成其它未占用的80端口 如:8088、8089等等
建议出现上述情况使用第一种方法。
======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/