最近做一个系统,需要用到网络编程,没有接触过。
android手机做客户端,想完成类似于新浪微博手机客户端的程序。以前做过PC网络编程,使用SOCKET通信方式。但是大家都知道,socket通信是利用IP地址通信的。现在要用手机与互联网通信,手机是没有IP的终端,怎么和服务器端建立连接。能否用socket通信实现这样的服务?如果可以,在这中间是不是电信服务商做了某些转化(手机号码<---> ip)看到网络上大部分都是使用http连接实现与服务器的连接,请问能用socket吗?如果可以,请详细说明一下过程。
android手机做客户端,想完成类似于新浪微博手机客户端的程序。以前做过PC网络编程,使用SOCKET通信方式。但是大家都知道,socket通信是利用IP地址通信的。现在要用手机与互联网通信,手机是没有IP的终端,怎么和服务器端建立连接。能否用socket通信实现这样的服务?如果可以,在这中间是不是电信服务商做了某些转化(手机号码<---> ip)看到网络上大部分都是使用http连接实现与服务器的连接,请问能用socket吗?如果可以,请详细说明一下过程。
解决方案 »
- 一个布局问题
- 菜鸟求助!onClick(DialogInterface dialog, int which){}和onClick(View v){}不同
- 关于PopupWindow中加入ListView后其它组件无法响应解决办法
- 2.3新添加了一个重载的MotionEvent.obtain(),如何利用这个API模拟两点放大缩小操作
- 开发环境android模拟器能上CMWAP网络么?
- 你们写android程序都用单元测试吗
- 路过的求助,android进程如何减小?
- android开发 大神帮我看看吧
- 布局layout变量被回收怎么办?
- AS如何获取onCreat中的值
- 请问, android系统下的java 代码中如何调用批处理文件?
- 【新手问题】如何通过浏览器访问本地的html和img
比如我现在的服务器网站IP为:222.222.222.222。可以直接在android上面通过socket ,连接到该网站吗?该网站返回信息的时候是怎样一个过程?先发送到电信服务商然后转发到手机上吗?
手机通过PPP与服务商的网络相连. 手机是有ip地址的. 你服务器主动连接这个ip是不行的. 这个ip是内部网的ip. 你连接不上. 而客户端连接服务器是可以的. 因为你的服务器ip是公网ip 就合手机上网看网页原理一致 . 是手机发给服务商,服务商更换ip包头,端口等以后再转发出去,收到的包, 根据端口区分,然后再转发到你的那个内部ip上. 就是一个内部网的转发机制 . 你如果自己用过路由器的应该知道.
建议用http要好点
因为现在的服务器还没有搭建起来,现在主要是做个测试。而且服务器端只提供一些信息的查询,简单的功能,所以想使用socket会简单一点。C/S架构。
用http更简单啊,iis、apache之类WEB服务已经把什么都包装好了,一般情况下不要再去重复发明轮子