Android中Socket通信

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类就可以实现。

Socket client = null ; // 表示客 户端

client = new Socket("localhost",5000) ;

2、发送数据

PrintStream out = new PrintStream(socket.getOutputStream()) ;  // 发送 数据,PrintStream 最方便

3、接收返回信息

buf=newBufferedReader(new InputStreamReader(socket.getInputStream())) ; ; // 一次性接收完成

读取Socket的输入流,在其中读出返回信息

4、关闭Socket

Socket.close();

补充:Socket sever端(非多线程实现)

ServerSocket server = null ; // 定义ServerSocket类

Socket client = null ; // 表示客 户端

PrintStream out = null ; // 打印流输出最方便

server = new ServerSocket(8888) ; // 服务器在8888端口上监听

System.out.println("服务器运行,等待客户端连接。") ;

client = server.accept() ; // 得到连接,程序进入到阻塞状态

String str = "hello world" ; // 表示要输出的信息

out = new PrintStream(client.getOutputStream()) ;

out.println(str) ; // 向客户端输出信息

client.close() ;

server.close() ;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值