欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-02-29 18:48:58
本文实例简述了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();