Android中Socket通信的实现方法概述
本文实例简述了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();
相关推荐
-
详解Android使用Socket对大文件进行加密传输
前言 数据加密,是一门历史悠久的技术,指通过加密算法和加密密钥将明文转变为密文,而解密则是通过解密算法和解密密钥将密文恢复为明文.它的核心是密码学. 数据加密目前仍是计算机系统对信息进行保护的一种最可靠的办法.它利用密码技术对信息进行加密,实现信息隐蔽从而起到保护信息的安全的作用. 项目中使用Socket进行文件传输过程时,需要先进行加密.实现的过程中踏了一些坑,下面对实现过程进行一下总结. DES加密 由于加密过程中使用的是DES加密算法,下面贴一下DES加密代码: //秘钥算法 privat
-
Android中使用socket通信实现消息推送的方法详解
原理 最近用socket写了一个消息推送的demo,在这里和大家分享一下. 主要实现了:一台手机向另外一台手机发送消息,这两台手机可以随时自由发送文本消息进行通信,类似我们常用的QQ. 效果图: 原理:手机通过socket发送消息到服务器,服务器每接收到一条消息之后,都会把这条消息放进一个messageList里面,服务器会不停地检测messageList是否含有消息,如果有的话就会根据messageList里面item的数据,推送到相应的另一端手机上面. 下面简单画了一个图来说明这个原理: 演
-
python服务器与android客户端socket通信实例
本文实例讲述了python服务器与android客户端socket通信的方法.分享给大家供大家参考.具体实现方法如下: 首先,服务器端使用python完成,下面为python代码: 复制代码 代码如下: #server.py import socket def getipaddrs(hostname):#只是为了显示IP,仅仅测试一下 result = socket.getaddrinfo(hostname, None, 0, socket.SOCK_STREAM) re
-
android Socket实现简单聊天功能以及文件传输
干程序是一件枯燥重复的事,每当感到内心浮躁的时候,我就会找小说来看.我从小就喜爱看武侠小说,一直有着武侠梦.从金庸,古龙,梁羽生系列到凤歌(昆仑),孙晓(英雄志)以及萧鼎的(诛仙)让我领略着不一样的江湖. 如果你有好看的武侠系列小说,给我留言哦.题外话就扯这么多了,接着还是上技术. 看看今天实现的功能效果图: 可以这里使用多台手机进行通讯,我采用的服务器发送消息. 是不是只有发送消息,有些显得太单调了.好,在发送消息的基础上增加文件传输.后期会增加视频,音频的传输,增加表情包.那一起来看看图文消
-
Android Socket通信详解
一.Socket通信简介 Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信.两者的最大差异在于,http连接使用的是"请求-响应方式",即在请求时建立连接通道,当客户端向服务器发送请求后,服务器端才能向客户端返回数据.而Socket通信则是在双方建立起连接后就可以直接进行数据的传输,在连接时可实现信息的主动推送,而不需要每次由客户端想服务器发送请求. 那么,什么是socket?Socket又称套接字,在程序内部提供了与外界通信的端口,即端口通信.通过
-
Android开发之Socket通信传输简单示例
本文实例讲述了Android Socket通信传输实现方法.分享给大家供大家参考,具体如下: 1.开篇简介 Socket本质上就是Java封装了传输层上的TCP协议(注:UDP用的是DatagramSocket类).要实现Socket的传输,需要构建客户端和服务器端.另外,传输的数据可以是字符串和字节.字符串传输主要用于简单的应用,比较复杂的应用(比如Java和C++进行通信),往往需要构建自己的应用层规则(类似于应用层协议),并用字节来传输. 2.基于字符串传输的Socket案例 1)服务器端
-
android开发socket编程之udp发送实例分析
本文实例讲述了android开发socket编程之udp发送实现方法.分享给大家供大家参考.具体分析如下: 需要实现的功能:采用udp下的socket编程,当按下确认键,模拟器发送文本框数据,pc机上的网络调试助手接收 一.环境: win7 + eclipse + sdk 二.代码: package test.soket; //import com.test_button.R; import java.io.DataOutputStream; import java.io.IOException
-
Android编程之客户端通过socket与服务器通信的方法
本文实例讲述了Android编程之客户端通过socket与服务器通信的方法.分享给大家供大家参考,具体如下: 下面是一个demo,Android客户端通过socket与服务器通信. 由于Android里面可以完全使用java.io.*包和java.net.*包,那么,实际上,逻辑部分与J2SE没有区别.只是UI代码不一样. Android客户端通过socket与服务器通信分为下面5步: (1)通过IP地址和端口实例化Socket,请求连接服务器: 复制代码 代码如下: socket = new
-
Android开发中Socket通信的基本实现方法讲解
一.Socket通信简介 Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信.两者的最大差异在于,http连接使用的是"请求-响应方式",即在请求时建立连接通道,当客户端向服务器发送请求后,服务器端才能向客户端返回数据.而Socket通信则是在双方建立起连接后就可以直接进行数据的传输,在连接时可实现信息的主动推送,而不需要每次由客户端想服务器发送请求. 那么,什么是socket?Socket又称套接字,在程序内部提供了与外界通信的端口,即端口通信.通过建
-
Android中Socket通信的实现方法概述
本文实例简述了Android中Socket通信的实现方法,具体内容如下: 一.socket通信概述 通俗的来说套接字(socket)是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元.它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议,本地主机的IP地址,本地进程的协议端口,远地主机的IP地址,远地进程的协议端口. 应用层通过传输层进行数据通信时,TCP会遇到同时为多个应用程序进程提供并发服务的问题.多个TCP连接或多个应用程序进程可能需要通过同一个TCP
-
Android中socket通信的简单实现
Android中socket通信简单实现,供大家参考,具体内容如下 socket通信需要有一个服务器和客户端,可以把同一个APP作为服务器跟客户端,也可以分开成两个APP. 先上个图: 这里以一个APP作为服务器跟客户端为示例 1.添加网络访问权限 <uses-permission android:name="android.permission.INTERNET" /> 2.写服务器,在APP上启动 import java.io.DataInputStream; impo
-
Android实现socket通信统一接口的方法
目录 UDP通信与TCP通信的实现 UDP通信 TCP客户端通信 使用统一接口 定义接口 实现接口 实现应用层 总结 Android实现socket通信统一接口,统一接口之后可以在不需要大量修改应用层代码的情况下,使用与当前功能类似但是底层实现不同的功能,以实现的UDP与TCP两种通信方式的接口为例. UDP通信与TCP通信的实现 UDP通信 我们在使用UDP通信方式时,我们会这样实现 //设置socket val socket = DatagramSocket() val serverPort
-
Android中Socket的应用分析
本文实例分析了Android中Socket的应用.分享给大家供大家参考,具体如下: Android 提供的常用的网络编程包括针对TCP/IP协议的Socket通信.Socket是一种跨平台的编程方式,可以在异构语言之间进行通信. Socket程序的开发原理,是要实现服务器端和客户端. 服务器,使用ServerSocket监听指定的端口,端口可以随意指定(由于1024以下的端口通常属于保留端口,在一些操作系统中不可以随意使用,所以建议使用大于1024的端口),等待客户连接请求,客户连接后,会话产生
-
C#实现Socket通信的解决方法
本文以实例详述了C#实现Socket通信的解决方法,具体实现步骤如下: 1.首先打开VS新建两个控制台应用程序: ConsoleApplication_socketServer和ConsoleApplication_socketClient. 2.在ConsoleApplication_socketClient中输入以下代码: using System; using System.Collections.Generic; using System.Linq; using System.Tex
-
php中socket通信机制实例详解
本文实例讲述了php中socket通信机制及用法.分享给大家供大家参考.具体分析如下: 一.socket是什么 什么是socket 所谓socket通常也称作"套接字",用于描述ip地址和端口,是一个通信链的句柄.应用程序通常通过"套接字"向网络发出请求或者应答网络请求.说白了就是一种通信机制.它类似于银行,电信啊这些部分的电话客服部门.你打电话的时候,那边会分配置一个人回答你的问题,客服部门就相当于socket的服务器端了,你这边呢就相当于客户端了,在和你通话结束
-
Android 中隐藏虚拟按键的方法实例代码
下面通过一段代码给大家讲解android 隐藏虚拟按键的方法,废话不多说了,大家多多看看代码和注释吧,具体代码如下所示: /** * 隐藏虚拟按键,并且全屏 */ protected void hideBottomUIMenu() { //隐藏虚拟按键,并且全屏 if (Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) { // lower api View v = this.getWindow().getDec
-
Android通过SOCKET下载文件的方法
本文实例讲述了Android通过SOCKET下载文件的方法.分享给大家供大家参考,具体如下: 服务端代码 import java.io.BufferedInputStream; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.
-
Android中使用Post请求的方法
本文实例讲述了Android中使用Post请求的方法.分享给大家供大家参考.具体如下: 一.需要用到的场景 在jQuery中使用$.post()就可以方便的发起一个post请求,在android程序中有时也要从服务器获取一些数据,就也必须得使用post请求了. 二.需要用到的主要类 在android中使用post请求主要要用到的类是HttpPost.HttpResponse.EntityUtils 三.主要思路 1.创建HttpPost实例,设置需要请求服务器的url. 2.为创建的HttpPo
随机推荐
- SQL update 多表关联更新的实现代码
- jQuery自动切换/点击切换选项卡效果的小例子
- Node.js编程中客户端Session的使用详解
- 服务器ARP病毒的特征及防护说明
- 举例说明Java设计模式编程中ISP接口隔离原则的使用
- volatile可见性的一些认识和论证
- 用js获取点击图片的值!
- Windows环境下vscode-go安装笔记(不支持32位)
- 在Win下mysql备份恢复命令
- android AsynTask处理返回数据和AsynTask使用get,post请求
- Ajax解决多余刷新的两种方法(总结)
- Java应用程序中创建图像
- jQuery 判断图片是否加载完成方法汇总
- 鼠标左键单击变双击的解决方法
- js获取当月最后一天实例代码
- Node.js实现批量去除BOM文件头
- 推荐一个文件搞定操作系统的所有常见问题第1/3页
- C#小知识之有趣的类型静态构造器
- Ubuntu LTS服务器部署Jenkins详细介绍
- Android开发之天气趋势折线图