当前位置: 编程技术>java/j2ee
Android中Socket通信的实现方法概述
来源: 互联网 发布时间:2014-11-07
本文导语: 本文实例简述了Android中Socket通信的实现方法,具体内容如下: 一、socket通信概述 通俗的来说套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通...
本文实例简述了Android中Socket通信的实现方法,具体内容如下:
一、socket通信概述
通俗的来说套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元。它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口。
应用层通过传输层进行数据通信时,TCP会遇到同时为多个应用程序进程提供并发服务的问题。多个TCP连接或多个应用程序进程可能需要通过同一个TCP协议端口传输数据。为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提供了套接字(Socket)接口。应用层可以和传输层通过Socket接口,区分来自不同应用程序进程或网络连接的通信,实现数据传输的并发服务。
总之一句话,socket是对TCP/IP协议的封装。
二、使用Socket步骤(client):
1、建立Socket(Tcp)连接
在Java中建立Socket连接是相当容易的事情,使用类库提供的Socket类就可以实现。
Socketclient=null; //表示客户端 client=newSocket("localhost",5000);
2、发送数据
PrintStreamout=newPrintStream(socket.getOutputStream()); //发送数据,PrintStream最方便
3、接收返回信息
buf=newBufferedReader(newInputStreamReader(socket.getInputStream()));; //一次性接收完成读取Socket的输入流,在其中读出返回信息
4、关闭Socket
Socket.close();
三、补充:
Socketsever端(非多线程实现) ServerSocketserver=null; //定义ServerSocket类 Socketclient=null; //表示客户端 PrintStreamout=null; //打印流输出最方便 server=newServerSocket(8888); //服务器在8888端口上监听 System.out.println("服务器运行,等待客户端连接。"); client=server.accept(); //得到连接,程序进入到阻塞状态 Stringstr="helloworld"; //表示要输出的信息 out=newPrintStream(client.getOutputStream()); out.println(str); //向客户端输出信息 client.close(); server.close();