站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2ME 专题[j2me Q&A]WTK初始化WMAClient报错"XXX has no IP address"的解释

[j2me Q&A]WTK初始化WMAClient报错"XXX has no IP address"的解释

摘要: [j2me Q&A]WTK初始化WMAClient报错"XXX has no IP address"的解释

[现象]

当通过WTK运行一个J2ME程序时,KToolbar显示这样的错误:

<table class="MsoNormalTable" style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; MARGIN: auto auto auto 5.75pt; BORDER-LEFT: medium none; WIDTH: 94.9%; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid white .5pt; mso-yfti-tbllook: 480; mso-padding-alt: .7pt 5.75pt .7pt 5.75pt; mso-border-insideh: .5pt solid white; mso-border-insidev: .5pt solid white" cellspacing="0" cellpadding="0" width="94%" border="1"> <tr style="HEIGHT: 10.9pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes"> <td style="PADDING-RIGHT: 5.75pt; BORDER-TOP: white 1pt solid; PADDING-LEFT: 5.75pt; BACKGROUND: #9faccb; PADDING-BOTTOM: 0.7pt; BORDER-LEFT: white 1pt solid; WIDTH: 405pt; PADDING-TOP: 0.7pt; BORDER-BOTTOM: white 1pt solid; HEIGHT: 10.9pt; BORDER-RIGHT-COLOR: #ece9d8; mso-border-top-alt: solid white .5pt; mso-border-left-alt: solid white .5pt; mso-border-bottom-alt: solid white .5pt" valign="top" width="540">

错误形态一

</td> </tr> <tr style="HEIGHT: 15.45pt; mso-yfti-irow: 1; mso-yfti-lastrow: yes"> <td style="PADDING-RIGHT: 5.75pt; PADDING-LEFT: 5.75pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 0.7pt; BORDER-LEFT: white 1pt solid; WIDTH: 405pt; BORDER-TOP-COLOR: #ece9d8; PADDING-TOP: 0.7pt; BORDER-BOTTOM: white 1pt solid; HEIGHT: 15.45pt; BORDER-RIGHT-COLOR: #ece9d8; mso-border-top-alt: solid white .5pt; mso-border-left-alt: solid white .5pt; mso-border-bottom-alt: solid white .5pt" valign="top" width="540">

WMAClient: localhost has no IP address: java.net.UnknownHostException: xxxx: xxxx
Warning: Failed to initialize WMA message routing support
ClientConnector: localhost has no IP address: java.net.UnknownHostException: xxxx: xxxx
Warning: Failed to initialize Bluetooth (JSR 82) support

</td> </tr> </table>

(xxxx指的是机器名字)

或者看到

<table class="MsoNormalTable" style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; MARGIN: auto auto auto 5.75pt; BORDER-LEFT: medium none; WIDTH: 94.9%; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid white .5pt; mso-yfti-tbllook: 480; mso-padding-alt: .7pt 5.75pt .7pt 5.75pt; mso-border-insideh: .5pt solid white; mso-border-insidev: .5pt solid white" cellspacing="0" cellpadding="0" width="94%" border="1"> <tr style="HEIGHT: 10.9pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes"> <td style="PADDING-RIGHT: 5.75pt; BORDER-TOP: white 1pt solid; PADDING-LEFT: 5.75pt; BACKGROUND: #9faccb; PADDING-BOTTOM: 0.7pt; BORDER-LEFT: white 1pt solid; WIDTH: 405pt; PADDING-TOP: 0.7pt; BORDER-BOTTOM: white 1pt solid; HEIGHT: 10.9pt; BORDER-RIGHT-COLOR: #ece9d8; mso-border-top-alt: solid white .5pt; mso-border-left-alt: solid white .5pt; mso-border-bottom-alt: solid white .5pt" valign="top" width="540">

错误形态二

</td> </tr> <tr style="HEIGHT: 15.45pt; mso-yfti-irow: 1; mso-yfti-lastrow: yes"> <td style="PADDING-RIGHT: 5.75pt; PADDING-LEFT: 5.75pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 0.7pt; BORDER-LEFT: white 1pt solid; WIDTH: 405pt; BORDER-TOP-COLOR: #ece9d8; PADDING-TOP: 0.7pt; BORDER-BOTTOM: white 1pt solid; HEIGHT: 15.45pt; BORDER-RIGHT-COLOR: #ece9d8; mso-border-top-alt: solid white .5pt; mso-border-left-alt: solid white .5pt; mso-border-bottom-alt: solid white .5pt" valign="top" width="540">

Running with storage root DefaultColorPhone
WMAClient: localhost has no IP address: java.net.UnknownHostException: 梅花
Warning: Failed to initialize WMA message routing support
ClientConnector: localhost has no IP address: java.net.UnknownHostException: 梅花

</td> </tr> </table>

[原因]

如果你第一次运行WTK之后,就改变了本机的IP地址,那么可能会导致WTK误认为你没有IP地址。或者你需要检查是否有网卡。

[解决]

把你的IP地址改回第一次运行WTK时的那个。

或装一个网卡。

[详细解释]

可能WTK初始化WMAClient和ClientConnector时,必须先运行InetAddress.getLocalHost()来寻找localhost的IP地址。

但是你看

http://www.vf.utwente.nl/~vriesajk/j2me/java/net/InetAddress.html#getLocalHost()

它说了

Throws:

UnknownHostException - if no IP address for the host could be found.

所以,如果它没有能够找到IP地址的话,它就报告“localhost has no IP address”。

或将机器名改为英文名称。

或者检查你的机器名,不能为中文。



↑返回目录
前一篇: [j2me Q&
后一篇: 《程序员》杂志06年2月文章:Flash Lite挑战J2ME