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();