即时通讯XMPP+openfire+asmark遇到的问题

No connected to server.

在上家公司很闲就略研究了一下即时通讯XMPP+openfire+asmark,注册登录都是成功的,后来一直忙着做项目就没继续,这几天要写论文,就想继续研究下去,就把这个作为论文题目了。重新配置了openfire,用的之前的注册登录代码,问题来了,还是连不上服务器,网上的方法都用了就是连不上,用模拟器也不行,在这里我忽略了个问题,在一般的Java Web程序开发中,我们通常使用localhost或者127.0.0.1来访问本机的Web服务,但是如果我们在Android模拟器中也采用同样的地址来访问,Android模拟器将无法正常访问到我们的服务,这是为什么呢?我们可以这样来理解:Android的底层是Linux kernel,包括Android本身就是一个操作系统,因此,这时我们在模拟器的浏览器中输入的localhost或127.0.0.1所代表的是Android模拟器(Android虚拟机),而不是你的电脑,明白了吗?这就是为什么你在模拟器中使用localhost时会报“Web page not available”的原因。

        那到底要如何才能访问到本地电脑上的Web应用呢?在Android中,将我们本地电脑的地址映射为10.0.2.2,因此,只需要将原先的localhost或者127.0.0.1换成10.0.2.2,就可以在模拟器上访问本地计算机上的Web资源了。

// url、端口,也可以设置连接的服务器名字,地址,端口,用户。
			ConnectionConfiguration connConfig = new ConnectionConfiguration("10.0.2.2", 5222);

这样改过之后用模拟器测试的话就没问题了,又能注册登陆了,可是真机行不行呢,~。 ~!

我的服务端是在公司的电脑上配置的,起初真机用的是公司给配的3G电信卡,我换成公司的wifi后连接成功了。

原因:

之所以真机连不上是因为服务端和客户端不在一个网段,真机连上公司wifi后服务端和客户端就在一个网段了~。 ~


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值