㈠ 安卓socket编程的服务器端的地址是什么
服务端的地址就是你服务器运行的电脑的ip地址,服务器运行在哪个电脑,那个电脑的ip就是你服务器端的地址。
使用socket编程的话创建服务器端的时候一般都是ServerSocket来创建一个对象,通过new构造函数的时候传入一个端口号,客户端连接的时候除了使用服务器端ip还有这个端口号,创建了对象之类,开启无限循环,用这个对象调用accept()方法,这就是常说的心跳连接,这个方法会一直阻塞,直到有客户端连接上。
客户端连接的时候也需要创建Socket对象,实例化这个对象的时候就需要传入服务器端ip和端口号,然后就可以利用这个对象获取输入输出流与服务器交互。
同样服务器端的ServerSocket对象调用accept()方法返回的Socket对象也可以获取输入输出流对象,然后利用这些流与客户端交互。
㈡ 如何用socket实现android手机与手机之间的通信
参考一般的java的socket编程,如果通过手机网络,就不要使用UDP即可。
㈢ Android Http连接和TCP连接的区别
Http是应用层协议,TCP是网络层协议,应用层在TCP/IP四层架构中位于TCP的上一层。
建立Http连接在实现时有以下两种方式:
1、[java] view plain
DefaultHttpClient http = new DefaultHttpClient();
HttpGet method = new HttpGet(url);
HttpResponse response =http.execute(method);
2、[java] view plain
URL url = new URL(uri);
HttpURLConnection connection = (HttpURLConnection)
url.openConnection();
connection.connect();
而TCP连接在实现时要借助Socket(套接字 IP+端口号)
[java] view plain
Socket s = new Socket("localhost", 12345);
区别从这两个连接的实现方式就可以看出来,HTTP连接需要指明资源的URL,发出请求的应用不知道服务器的IP,虽然域名服务器也是要把域名解析成IP地址,但不属于应用所关心的范畴,是网络层应该完成的工作。所以Http连接属于无状态的短连接,若再请求其他数据,需要再重新建立连接。客户端向服务器发送请求后,服务器才知道客户端的存在。
TCP连接实现时需要指明IP地址和端口号,就可以跟目的主机通过三次握手建立联系,该连接一直保持直到某一方提出取消连接,通过四次握手关闭连接。Socket支持TCP/UDP协议,如果使用TCP协议,那么socket连接就是TCP连接。论文提到的应用场景是手机与云端的服务器建立联系,因为要保持连接并指定连接的建立时间,所以在这种场景下使用TCP连接最合适。3G网络不支持端到端建立TCP连接,因为它是client-server模式,所以需要通过云端服务器的辅助来实现手机的端到端通信。