CN114363119A - 一种Android系统下C++socket通讯与蜂窝网络同时使用方法 - Google Patents
一种Android系统下C++socket通讯与蜂窝网络同时使用方法 Download PDFInfo
- Publication number
- CN114363119A CN114363119A CN202111674745.2A CN202111674745A CN114363119A CN 114363119 A CN114363119 A CN 114363119A CN 202111674745 A CN202111674745 A CN 202111674745A CN 114363119 A CN114363119 A CN 114363119A
- Authority
- CN
- China
- Prior art keywords
- layer
- socket
- communication
- cellular network
- java
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000006854 communication Effects 0.000 title claims abstract description 39
- 238000004891 communication Methods 0.000 title claims abstract description 39
- 230000001413 cellular effect Effects 0.000 title claims abstract description 23
- 238000000034 method Methods 0.000 title claims abstract description 23
- 230000008569 process Effects 0.000 description 9
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及通讯技术领域,具体涉及一种Android系统下C++socket通讯与蜂窝网络同时使用方法。本发明采用如下技术方案:在Java层搜索并连接WiFi网络,并在Java层创建socket连接,并将该socket连接的相关数据传递到C++层,使得C++层可与对应的WiFi网络进行socket通讯,此时Java层还可同时通过蜂窝网络进行通讯。本发明的优点在于:通过将C++层创建socket连接的工作移到Java层来做,通过Java的反射,获取该socket连接的FileDescriptor类的数据,并将该socket连接的相关数据传递到C++层,由C++层根据该socket连接的相关数据进行socket通讯,从而使得C++层在进行socket通讯时,Java层可同时进行蜂窝网络通讯。
Description
技术领域
本发明涉及通讯技术领域,具体涉及一种Android系统下C++socket通讯与蜂窝网络同时使用方法。
背景技术
在Android系统中,C++层连接socket通讯需要将该进程绑定到特定的WiFi网络,而绑定后导致只能使用该特定的WiFi网络进行通讯,无法同时使用蜂窝网络和WiFi网络进行通讯。具体的,C++层连接socket时,先在Java层获取符合用户请求的网络并连接,接着将进程绑定到该网络,最后在C++层创建socket连接,进行socket通讯。WiFi网络和蜂窝网络可以同时连接不同的两个网络环境,但是当用户利用C++层进行socket通讯时将进程绑定到特定的WiFi网络,进程中所有的网络请求都通过该网络进行发送,无法对网络请求进行不同的分发处理,导致网络请求无法送达蜂窝网络环境而无法正确获取返回数据,导致WiFi网络和蜂窝网络无法同时使用。
发明内容
本发明的目的在于提供一种Android系统下C++socket通讯与蜂窝网络可同时使用方法。
为达到上述目的,本发明采用如下技术方案:一种Android系统下C++socket通讯与蜂窝网络同时使用方法,包括如下步骤:
S01、在Android系统的Java层搜索WiFi网络,并连接到该WiFi网络。
S02、在Java层通过连接的WiFi网络的管理类创建socket连接。
S03、Java层将创建的socket连接的相关数据传递到C++层。
S04、C++层根据Java层传递过来的socket连接的相关数据进行socket通讯,此时Java层同时可以使用蜂窝网络进行通讯。
具体的,步骤S03中,socket连接的相关数据包括通过FileDescriptor获取的数据、所连接网络的IP地址以及端口信息。
具体的,步骤S03中通过FileDescriptor获取的数据,是通过Java层的SocketImpl类获取FileDescriptor类,再通过获取的FileDescriptor获取响应的数据。
具体的,步骤S03中,Java层的SocketImpl类是Java层通过创建的socket连接进行反射获取的。
本发明的优点在于:通过将C++层创建socket连接的工作移到Java层来做,通过Java的反射,获取该socket连接的FileDescriptor类的数据,并将该socket连接的相关数据传递到C++层,由C++层根据该socket连接的相关数据进行socket通讯,从而使得C++层在进行socket通讯时,Java层可同时进行蜂窝网络通讯。
附图说明
附图1为实施例中Android系统下C++socket通讯与蜂窝网络同时使用方法的通讯流程图。
具体实施方式
实施例,参照图1,一种Android系统下C++socket通讯与蜂窝网络同时使用方法,包括如下步骤:
S01、在Android系统的Java层搜索WiFi网络,并连接到该WiFi网络。
S02、在Java层通过连接的WiFi网络的管理类创建socket连接。
S03、Java层通过Java反射获取所创建socket连接的SocketImpl类,再根据SocketImpl类获取FileDescriptor类,最后根据FileDescriptor类获取响应的数据,并将创建的socket连接的通过FileDescriptor获取的数据、所连接网络的IP地址以及端口信息传递到C++层。
S04、C++层根据Java层传递过来的socket连接的相关数据通过FileDescriptor类、所连接WiFi网络的IP地址及其对应的端口与socket连接进行socket通讯,此时Java层同时可以使用蜂窝网络进行通讯。
在本实施例中,将C++创建socket连接的工作转移到Java层进行,在Java层搜索目标WiFi网络,并创建socket连接,然后通过Java层的反射,获取该socket连接的SocketImpl和FileDescriptor,并将FileDescriptor获取的数据、所连接目标网络的IP地址和端口信息传递到C++层,C++层通过FileDescriptor、IP地址和对应的端口进行socket通讯,此时Java层可同时进行蜂窝网络的通讯。
其中,socket是一种对网络中不同主机上的应用进程之间进行双向通讯的端点上的抽象类,其相当于网络上进程通讯的一端,提供了应用层进程利用网络协议交换数据的机制,从位置上说,socket向上连接应用进程,向下连接网络协议栈,是应用程序通过网络协议进行通讯和交互的接口。FileDescriptor则作为文件描述符类的实例,用于表示打开的文件、打开的套接字或其他字节源或汇,其实际用途是创建一个文件输入流或文件输出流来包含它,实现与网络另一端的双向数据通讯。
当然,以上仅为本发明较佳实施方式,并非以此限定本发明的使用范围,故,凡是在本发明原理上做等效改变均应包含在本发明的保护范围内。
Claims (4)
1.一种Android系统下C++socket通讯与蜂窝网络同时使用方法,其特征在于,包括如下步骤:
S01、在Android系统的Java层搜索WiFi网络,并连接到该WiFi网络;
S02、在Java层通过连接的WiFi网络的管理类创建socket连接;
S03、Java层将创建的socket连接的相关数据传递到C++层;
S04、C++层根据Java层传递过来的socket连接的相关数据进行socket通讯,此时Java层可以同时使用蜂窝网络进行通讯。
2.根据权利要求1所述的一种Android系统下C++socket通讯与蜂窝网络同时使用方法,其特征在于:步骤S03中,socket连接的相关数据包括通过FileDescriptor获取的数据、所连接网络的IP地址以及端口信息。
3.根据权利要求2所述的一种Android系统下C++socket通讯与蜂窝网络同时使用方法,其特征在于:所述步骤S03中通过FileDescriptor获取的数据,是通过Java层的SocketImpl类获取FileDescriptor类,再通过获取的FileDescriptor获取响应的数据。
4.根据权利要求3所述的一种Android系统下C++socket通讯与蜂窝网络同时使用方法,其特征在于:所述步骤S03中,Java层的SocketImpl类是Java层通过创建的socket连接进行反射获取的。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111674745.2A CN114363119B (zh) | 2021-12-31 | 2021-12-31 | 一种Android系统下C++socket通讯与蜂窝网络同时使用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111674745.2A CN114363119B (zh) | 2021-12-31 | 2021-12-31 | 一种Android系统下C++socket通讯与蜂窝网络同时使用方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114363119A true CN114363119A (zh) | 2022-04-15 |
CN114363119B CN114363119B (zh) | 2024-04-26 |
Family
ID=81104641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111674745.2A Active CN114363119B (zh) | 2021-12-31 | 2021-12-31 | 一种Android系统下C++socket通讯与蜂窝网络同时使用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114363119B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6182144B1 (en) * | 1997-12-12 | 2001-01-30 | Intel Corporation | Means and method for switching between a narrow band communication and a wide band communication to establish a continuous connection with mobile computers |
US6401109B1 (en) * | 1996-11-18 | 2002-06-04 | International Business Machines Corp. | Virtual socket for JAVA interprocess communication |
CN102413531A (zh) * | 2011-11-30 | 2012-04-11 | 上海顶竹通讯技术有限公司 | 多模终端的网络切换装置及方法 |
IL221667A0 (en) * | 2012-08-27 | 2012-12-31 | Univ Ben Gurion | Network selection and traffic offloading module |
CN107809807A (zh) * | 2017-10-20 | 2018-03-16 | 广州小鹏汽车科技有限公司 | 一种Android中控大屏与移动终端的通信方法及装置 |
CN112733158A (zh) * | 2021-04-06 | 2021-04-30 | 北京邮电大学 | Android系统漏洞检测方法、电子设备及存储介质 |
-
2021
- 2021-12-31 CN CN202111674745.2A patent/CN114363119B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6401109B1 (en) * | 1996-11-18 | 2002-06-04 | International Business Machines Corp. | Virtual socket for JAVA interprocess communication |
US6182144B1 (en) * | 1997-12-12 | 2001-01-30 | Intel Corporation | Means and method for switching between a narrow band communication and a wide band communication to establish a continuous connection with mobile computers |
CN102413531A (zh) * | 2011-11-30 | 2012-04-11 | 上海顶竹通讯技术有限公司 | 多模终端的网络切换装置及方法 |
IL221667A0 (en) * | 2012-08-27 | 2012-12-31 | Univ Ben Gurion | Network selection and traffic offloading module |
CN107809807A (zh) * | 2017-10-20 | 2018-03-16 | 广州小鹏汽车科技有限公司 | 一种Android中控大屏与移动终端的通信方法及装置 |
CN112733158A (zh) * | 2021-04-06 | 2021-04-30 | 北京邮电大学 | Android系统漏洞检测方法、电子设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
孙勇: "WIFI与GPRS网络在远程医疗中的应用与研究", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》, 15 June 2013 (2013-06-15), pages 136 - 767 * |
Also Published As
Publication number | Publication date |
---|---|
CN114363119B (zh) | 2024-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3805725B2 (ja) | 相異なるミドルウェアを使用するホームネットワーク上のデバイス間のメッセージの受け渡しを可能にするゲートウェイ、ホームネットワークシステム及びメッセージ受け渡し方法 | |
CN104967585B (zh) | 一种远程调试移动终端的方法和装置 | |
WO2005089139A2 (en) | Remote usb port system and method | |
WO2014206321A1 (zh) | 蓝牙通信方法及蓝牙通信设备 | |
CN103475682A (zh) | 文件迁移方法及设备 | |
WO2011116556A1 (zh) | 基于物联网的无线通信终端及其应用方法 | |
CN106534178A (zh) | RapidIO网络通用套接字的实现系统及方法 | |
CN105389120A (zh) | 支持通过活动消息的rma api | |
CN111258714A (zh) | 一种区块链智能合约执行方法 | |
CN114510452A (zh) | 片上系统soc集成方法、装置及电子设备 | |
WO2018113114A1 (zh) | 双系统定向连接的方法和装置 | |
CN104424036A (zh) | 智能终端的同步操作方法及装置 | |
CN104092661A (zh) | 虚拟机串口的通信方法及装置 | |
CN114201317A (zh) | 数据传输方法、装置、存储介质及电子设备 | |
CN114363119B (zh) | 一种Android系统下C++socket通讯与蜂窝网络同时使用方法 | |
CN109788034B (zh) | 用于网关接入设备的配置方法、电子设备及存储介质 | |
CN104570967A (zh) | 基于Android系统的远程控制方法及系统 | |
CN115550377B (zh) | 一种nvmf存储集群节点互联方法、装置、设备及介质 | |
CN115022424B (zh) | 水电lcu控制器网卡虚拟控制方法、系统、设备及其介质 | |
CN107302522B (zh) | 基于USB的SpaceWire网络即插即用基础协议 | |
CN115134427B (zh) | 通信协议协调方法、装置、计算机设备和存储介质 | |
CN103001939A (zh) | 一种ftp服务器、处理方法和传输系统 | |
US20060195834A1 (en) | Method and system for availability checking on distributed objects | |
CN111125493B (zh) | 一种基于协议无感知转发的高速数据查询系统及方法 | |
CN102739795A (zh) | 应用于虚拟化环境的网络代理数据转发系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20240223 Address after: Room 513, Building 3, Longjiang Road, Shantou City, Guangdong Province, 515000 Applicant after: Guangdong Intelligent Ultrasound Imaging Technology and Equipment Innovation Center Co.,Ltd. Country or region after: China Address before: No.77 Jinsha Road Shantou Guangdong 515000 Applicant before: Shantou Ultrasonic Instrument Research Institute Co.,Ltd. Country or region before: China |
|
GR01 | Patent grant | ||
GR01 | Patent grant |