Android中Socket通信的实现方法概述

时间:2021-10-22 16:15:46

本文实例简述了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类就可以实现。

?
1
2
Socketclient=null; //表示客户端
client=newSocket("localhost",5000);

2、发送数据

?
1
PrintStreamout=newPrintStream(socket.getOutputStream()); //发送数据,PrintStream最方便

3、接收返回信息

?
1
buf=newBufferedReader(newInputStreamReader(socket.getInputStream()));; //一次性接收完成读取Socket的输入流,在其中读出返回信息

4、关闭Socket

?
1
Socket.close();

三、补充:

?
1
2
3
4
5
6
7
8
9
10
11
12
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();