Android之socket通信

TCP/IP协议栈:模拟器实现基本的L2和L3功能 L2功能的模拟器实现:在模拟器中,可以实现L2的基本功能,包括数据帧封装和解封装、MAC地址的分配和管理,以及通过以太网等数据链路协议进行数据的传输。L3功能的模拟器实现:在模拟器中,可以实现L3的基本功能,包括IP地址的分配和管理,路由表的维护和更新,以及数据包的路由和转发。L2(链路层)是TCP/IP协议栈中的一层,负责数据的帧封装和物理层的传输。L3(网络层)功能模拟:L3协议主要负责数据包的路由和转发,可以模拟基本的路由表查找算法,以及实现IP协议,包括IP地址的分配、数据包的封装和解封装等功能。 阅读详情

本人已经试过了,可以的~~~


进行TCP通信的时候,在本机上启动两个模拟器,本机(PC)和模拟器时发现两个模拟器的IP地址都是完全一样的,所以要实现两个模拟器之间的通信,使用模拟器的IP地址是办不到的。必须进行端口映射。

    模拟器提供了一个特殊的IP,此IP的地址为10.0.2.2,此IP地址可以说等同于PC本机的IP地址127.0.0.1 。所以,通过此特殊IP地址,实现PC本机与模拟器的通信是没有问题。

首先 ,运行模拟器在命令行adb –s emulator -模拟器  forward  tcp:端口号 tcp:端口号(例如:adb –s emulator-5554 forward tcp:8080 tcp:8090)

PC-SERVER:ServerSocket server = new ServerSocket(8080);

模拟器-CLIENT:Socket socket = new Socket("10.0.2.2", 8090);

接下来是如何在两个模拟器之间进行通信:同样的先进行端口映射:adb –s emulator -模拟器  forward  tcp:端口号 tcp:端口号(先运行模拟器).代码如下:

adb –s emulator-5554 forward tcp:8080 tcp:8081

模拟器(5554)-SERVER:ServerSocket server = new ServerSocket(8081);

模拟器(5556)-CLIENT:Socket socket = new Socket("10.0.2.2", 8080);

 

因为模拟器5556连接的地址10.0.2.2:8080相当于本机的127.0.0.1:8080,由于进行了端口映射本机IP8080上的连接请求都映射到5554:8081上,因此模拟器5556的请求会发送到5554上.


Android TCP socket通信 转载请注明出处:http://blog.youkuaiyun.com/vnanyesheshou/article/details/74896575 之前做过的一个局域网内TCP通信、聊天的demo,周日整理了一下。该demo可以做客户端,也可以做服务端。两个手机都安装该应用,一个做客户端、一个做服务端,然后进行通信(前提连接在同一局域网内)。1 简介TCP(Transmission Control Protoco 阅读详情

相关推荐

安卓Socket与pc端c#服务器的通信 附完整代码

一、前言小生不才,学习安卓socke通信打了很多滚,遇到过很多问题,也翻过前辈们关于socket的讲解,很杂各有见解,案例也不是很完整,于是特地将此安卓Socket与pc端c#服务器的通信代码讲解与socket的资料整理一遍加深理解,希望能有所帮助,小生没写过几次博客,欢迎各位大佬提出宝贵意见。安卓客户端项目源代码与pc端C#服务器与客户端的资源已经上传:安卓Socket与pc端c#服务器的通信完...

Zengpengqing1204的博客 5596

实现一个可配置的TCP设备模拟器,支持交互和解析配置

每种TCP协议基本都有基础的外层格式,如固定头,数据长度,数据域,校验帧等信息,所以这里想对协议的外层先做定义,让后对动态部分的报文再做二次定义,这样就组成一个完整的报文了。以下是协议定义的截图。

小飞侠的博客 1267

实现一个SOCKET通转USB通信的安卓程序

该代码片段中,我们获取了已连接到安卓设备的 USB 设备列表,并迭代遍历每个设备。其次,编写服务端程序通过 USB 连接到计算机。在安卓设备上使用 USB 连接,需要使用 Android 提供的 UsbManager 类。实现一个从 Socket 到 USB 的通信需要在安卓设备上编写两个程序,一个作为客户端连接到 Socket,另一个作为服务端通过 USB 连接到计算机。该代码片段中,我们建立了一个与指定 IP 地址和端口号的 Socket 服务器的连接,并向其发送了一个字节流消息。

走向CTO的路上... 637

用TCP模拟网页服务器开发记录

单片机或PC软件用TCP模拟网页服务器

weixin_41872063的博客 804

Android 安卓手机与电脑Socket通信实践教程

简介:在Android平台上,实现手机与电脑的Socket通信对于远程控制、数据传输等场景尤为重要。本文将详细指导如何通过Socket连接安卓设备与PC,并进行双向数据交换。包括服务器端与客户端的实现、数据传输过程及注意事项,还会涉及源码分析和安全性的考虑。

weixin_42591413的博客 1249

安卓与电脑间Socket通信实战代码解析

本文还有配套的精品资源,点击获取 简介:源码编号 MF00027 展示了安卓设备与计算机如何通过Socket进行数据交互。通信基于TCP/IP,涉及Socket概念、TCP与UDP协议,以及在Android平台上的实现。本例详细讲解了从创建连接到数据传输的完整过程,包括服务器端与客户端的设置、数据传输、异常处理、安全性与性能优化,以及可能的应用场景。开发者通过源码学习,可以...

weixin_42612804的博客 880

android socket通信如何抓取,安卓Socket通信实例(客户端、服务端)

安卓Socket通信实例本文摘自:https://whatsblog.icu/index.php/Android/17.html1、Socket通信必须知道的地方1、首先,Socket通信采用TCP模式,客户端需要连接到服务端2、采用网络,需要打开Internet权限3、需要合理调用线程,熟悉线程与输入输出流的使用4、socket服务端和客户端编码方式不一致将有可出现中文乱码问题5、在收发数据前,...

weixin_42505792的博客 997

TCP 客户端和服务器端模拟器

很实用的TCP客户端和服务器端使用工具,可以模拟客户端和服务器端的通信,内含演示程序和源代码

android socket通信_安卓和PC端TCP通信

最近去了一趟上海,外滩的景色还是很nice的,非常喜欢这种具有历史感的建筑。很久没写文章,小姐姐最近打代码比较少,搞项管去。。。。。。程序媛才是小姐姐的最爱,记录文档写起来,哈哈哈。在一些工具类开发中,经常涉及不同设备之间的通信,今天我就针对安卓手机和PC端的通信,做一些文档说明。在安卓手机和PC端的TCP通信中,PC做为接收端(服务器Server端),以Android设备做为发送端(客户Clie...

weixin_39673742的博客 878

TCPIP模拟

TCPIP模拟 这是Eric Knutson的Criuse工具。 EnDGUDPServer.cpp:基于Windows的PC上的Cruise模拟器:在UDP 1534端口上将Cruise Data广播到192.168.1.255子网广播子网IP地址:192.168.1.255 UDP端口:1534 UDP有效负载:“ Cruise Data .....” EnDGUDPReceiver.cpp:UDPtoTCPconverter,用于将巡航数据桥接到通过TCP端口:13400上的“ 127.0.0.1”链接到Tera Term工具的TCP套接字,TCP端口:13400)UDP接收器在UDP 1534端口上侦听本地IP地址 Tera Term工具:TCPIP:主机:127.0.0.1; 端口:13400 如何运行: 运行Criuse仿真器:在Windows计算机命令行上:EnDGU

tcp服务端&客户端模拟器

tcp服务端&客户端模拟器 直接安装 即可测试TCP连通性

Android -- Socket通信

1、通信简介 安卓与服务端的通信方式主要有两种,一种是 Http 通信,一种是 Socket 通信。 Socket 属于传输层,因为 TCP/IP 协议属于传输层,解决的是数据如何在网络中传输的问题 Http 协议属于应用层,解决的是如何包装数据 两者最大的差异,就是工作方式的不同: Http:采用 请求—响应 方式 1、即建立网络连接后,当 客户端 向 服务器 发送请求后,服务端才能向...

一只驴在敲代码 1133

TCP模拟调试工具

用于 TCPIP SOCKET协议调试的模拟工具,简单实用。

安卓app和java通信实例_Android开发之Socket通信传输简单示例

本文实例讲述了Android Socket通信传输实现方法。分享给大家供大家参考,具体如下:1.开篇简介Socket本质上就是Java封装了传输层上的TCP协议(注:UDP用的是DatagramSocket类)。要实现Socket的传输,需要构建客户端和服务器端。另外,传输的数据可以是字符串和字节。字符串传输主要用于简单的应用,比较复杂的应用(比如Java和C++进行通信),往往需要构建自己的应用...

weixin_36471865的博客 697

Android音频学习(十四)——加载音频设备

loadHwModule 是 Android 音频系统的核心初始化函数,负责加载音频硬件抽象层(HAL)的模块实现。它建立 AudioPolicyService 与底层硬件的桥梁,将配置文件(audio_policy_config.xml)中的标签<module>定义转化为可操作的硬件对象,加载的是音频硬件模块(HAL实现),每个模块对应一种音频设备类型,以动态库的形式存在,负责与底层音频硬件交互。

miemie2014的博客 1732

IAR9.20.4安装与注册全攻略:附资源及典型问题解决方案

本文提供IAR9.20.4的详细安装与注册指南,涵盖环境准备、安装步骤、权限设置及注册机使用技巧。针对典型问题如评估版残留、权限不足和杀毒软件拦截等,给出了具体解决方案,帮助用户顺利完成IAR开发环境的搭建与激活。

a2b3c4d5e的博客 297

Android中Socket通信的简单实现

前言Android Framework 层代码中大量使用了 Binder IPC 通信方式,除此之外,Socket 也是一种重要的 IPC 通信方式,比如StorageManagerService(8.0 之前叫 MountService)与 Vold 之前的通信,SystemServer 和 Zygote 之间也是通过 Socket 进行通信的。本文简单总结下 Android Java 层在使用...

ding3106的专栏 6万+

单细胞多组学数据整合分析实战:从原始数据到跨平台合并

本文详细介绍了单细胞多组学数据整合分析的实战流程,从原始数据处理到跨平台合并分析。通过Seurat和Harmony等工具的应用,帮助研究者有效解决批次效应问题,保留真实的生物学信号。文章包含代码示例和常见问题解决方案,特别适合需要进行单细胞合并分析的研究人员参考。

weixin_30752699的博客 92

用java进行安卓开发的步骤_Android开发中Socket通信的基本实现方法讲解

一、Socket通信简介Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信。两者的最大差异在于,http连接使用的是“请求—响应方式”,即在请求时建立连接通道,当客户端向服务器发送请求后,服务器端才能向客户端返回数据。而Socket通信则是在双方建立起连接后就可以直接进行数据的传输,在连接时可实现信息的主动推送,而不需要每次由客户端想服务器发送请求。 那么,什么是s...

weixin_42305634的博客 617

2026 最新实战教程:AI 重构开发全流程(从需求→上线→运维)

1)做什么系统2)技术栈3)功能模块4)部署要求plaintext我要做一个:待办事项(Todo)全栈应用技术栈:前端:React + TypeScript + Tailwind后端:Node.js + Express + MongoDB部署:Docker + 本地运行(后续可上云)功能:- 增删改查任务- 任务状态切换(完成/未完成)- 简单错误处理请按企业级标准生成:架构设计 + 全部代码 + 接口文档 + 启动命令。

qq_35779316的博客 1715

深度学习与西储大学轴承数据集(一)

西储大学数据集介绍

weixin_50642818的博客 1万+

基于Socket通信的Android聊天室

本例采用PC端做服务器端,android端做客户端,进行Socket通信;能进行群聊,并能上传android端的本地文件(图片)到PC端,PC端又将收到的文件转发给所有用户。

毕业作品网站 694

【SA8155P】AIS Camera相关内容的简单介绍

【SA8155P】AIS Camera相关内容的简单介绍

静谧、淡雅 1707

安卓使用完整底层linux,Android使用socket使底层和framework通信

一般的native和framework的通信是通过jni,但是这一般只是framework调用native,native如果有消息要怎样通知上层呢?Android中GSP模块提供一种解决思路,但是实现有些复杂,这里介绍一种使用socket通信的方法可以使native和framework自由通信,具体实现如下:android中使用jni对linux中的socket进行了封装。使用起来十分的方便。由于...

weixin_34901693的博客 317

html2canvas - 解决截图后引入的字体样式丢失问题,第三方字体截图导出图片后字体失效,html2canvas截屏生成图片后艺术字体就丢失并且自动转成常规字体了,特殊字体显示不了无法截图怎么办

vue2,vue3,uniapp,html2canvas截图后引入的字体样式丢失,html2canvas艺术字截图不显示,使用外部字体无效,html2canvas无法识别网络字体文件怎么办,ttf文件,网页使用在线字体链接利用html2canvas无法截取,字体样式没有了,font-family第三方字体,@font-face引入本地字体文件后无法被html2canvas识别怎么办,html2canvas文字消失,vue页面正常显示艺术字体但截屏后没有,html2canvas截图存在特殊字体时截图不全,默认

✅ 精选推荐文章 1万+

(第100天)Oracle GoldenGate 常见故障处理指南

OGG 运维的核心在于细致的配置管理和主动的问题排查。熟悉常见错误、掌握关键操作流程、并善用日志和调试工具,是保障数据同步任务稳定运行的关键。希望这份指南能帮助您更高效地解决 OGG 同步中遇到的问题。祝您运维顺利!

LuciferLiu_DBA 304
下一篇: Android Socket Transference R&D
JavaLearner12
博客等级 码龄15年 2粉丝 8原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值