最近做一个系统,需要用到网络编程,没有接触过。
android手机做客户端,想完成类似于新浪微博手机客户端的程序。以前做过PC网络编程,使用SOCKET通信方式。但是大家都知道,socket通信是利用IP地址通信的。现在要用手机与互联网通信,手机是没有IP的终端,怎么和服务器端建立连接。能否用socket通信实现这样的服务?如果可以,在这中间是不是电信服务商做了某些转化(手机号码<---> ip)看到网络上大部分都是使用http连接实现与服务器的连接,请问能用socket吗?如果可以,请详细说明一下过程。
android手机做客户端,想完成类似于新浪微博手机客户端的程序。以前做过PC网络编程,使用SOCKET通信方式。但是大家都知道,socket通信是利用IP地址通信的。现在要用手机与互联网通信,手机是没有IP的终端,怎么和服务器端建立连接。能否用socket通信实现这样的服务?如果可以,在这中间是不是电信服务商做了某些转化(手机号码<---> ip)看到网络上大部分都是使用http连接实现与服务器的连接,请问能用socket吗?如果可以,请详细说明一下过程。
比如我现在的服务器网站IP为:222.222.222.222。可以直接在android上面通过socket ,连接到该网站吗?该网站返回信息的时候是怎样一个过程?先发送到电信服务商然后转发到手机上吗?
手机通过PPP与服务商的网络相连. 手机是有ip地址的. 你服务器主动连接这个ip是不行的. 这个ip是内部网的ip. 你连接不上. 而客户端连接服务器是可以的. 因为你的服务器ip是公网ip 就合手机上网看网页原理一致 . 是手机发给服务商,服务商更换ip包头,端口等以后再转发出去,收到的包, 根据端口区分,然后再转发到你的那个内部ip上. 就是一个内部网的转发机制 . 你如果自己用过路由器的应该知道.
建议用http要好点
因为现在的服务器还没有搭建起来,现在主要是做个测试。而且服务器端只提供一些信息的查询,简单的功能,所以想使用socket会简单一点。C/S架构。
用http更简单啊,iis、apache之类WEB服务已经把什么都包装好了,一般情况下不要再去重复发明轮子