实现网络通信机的方式
1、HTTP通信
HTTP:超文本传输协议,主要用来传输网页和表单.
短连接:以注册登录为例,客户端注册或者登录,访问服务器成功,服务器一般会将客户端请求数据存储在数据库中,然后返回给客户端注册或者登录成功的数据,最后会断开连接。等下次在登录的时候,会重新访问服务器请求数据,服务器返回数据,最后再断开。
http通信实现:短连接
第一步:建立连接
URL url = new URL("http://www.qq.com");
httpConnection = (HpptURLConnection)url.openConnection();
第二步:发送数据给客户端
outpuStream = httpConnection.getOutputStream();
outpuStream.write("username=张三&"password=123456");
第三步:接受服务器返回数据
InputStream in = httpConnection.getInputStream();
in.read(data);
第四步:断开连接
2、socket通信
socket套接字,可以传输文本,音频等多种信息。一个连接做一件事,比如聊天和上传文件只能做一个。
还是以注册和登录为例,客户端和服务器建立连接,此连接不关闭。注册和登录用第一次建立的连接。
第一步:建立连接
socket = new Socket("192.168.188.96",16888);
第二步:发送数据给客户端
outpuStream = socket.getOutputStream();
outpuStream.write("username=张三&"password=123456");
第三步:接受服务器返回数据
InputStream in = socket.getInputStream();
网络通信要解决的问题(部分)
1.安全问题
以银行客户端访问其服务端为例,比如在家访问用的电信网络,首先网络进入小区网络,然后小区网络连接电信运营商,最后该网络还要连接中国Internet主干网。所以访问过程中,这些信息有可能会泄密,而银行都有自己的证书,该证书就是以私钥对数据进行加密。银行用你的公钥对数据进行解密,成功则没有被修改。