CN102055732B - 一种实现单机软件通信的方法及装置 - Google Patents
一种实现单机软件通信的方法及装置 Download PDFInfo
- Publication number
- CN102055732B CN102055732B CN200910208728.2A CN200910208728A CN102055732B CN 102055732 B CN102055732 B CN 102055732B CN 200910208728 A CN200910208728 A CN 200910208728A CN 102055732 B CN102055732 B CN 102055732B
- Authority
- CN
- China
- Prior art keywords
- user equipment
- instant messaging
- communication
- connection
- stand
- 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.)
- Active
Links
- 230000006854 communication Effects 0.000 title claims abstract description 133
- 238000004891 communication Methods 0.000 title claims abstract description 99
- 238000000034 method Methods 0.000 title claims abstract description 28
- 230000003993 interaction Effects 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 6
- 230000002452 interceptive effect Effects 0.000 claims description 2
- 238000011161 development Methods 0.000 abstract description 13
- 230000006870 function Effects 0.000 description 31
- 230000004044 response Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000012508 change request Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
- H04L51/046—Interoperability with other network applications or services
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请公开了一种实现单机软件通信的方法及装置。一种实现单机软件通信的方法,包括:第一用户设备与第二用户设备建立即时通信连接;第一用户设备中的单机软件A1使用所述即时通信连接,与第二用户设备中的单机软件A2进行通信;其中,所述第一用户设备与第二用户设备互为对端设备,所述第一用户设备与第二用户设备之间的即时通信连接,由第一用户设备中的即时通信客户端B1与第二用户设备中的即时通信客户端B2建立;所述第一用户设备中的单机软件A1与所述第二用户设备中的单机软件A2为相同软件。应用本申请所提供的技术方案,能够有效降低在单机软件实现网络功能的开发难度及开发成本。
Description
技术领域
本申请涉及计算机应用技术领域,特别是涉及一种实现单机软件通信的方法及装置。
背景技术
随着网络技术的发展,用户对于各种应用软件的需求已经不仅仅局限于单机功能,越来越多的用户希望软件能够具有一定的网络功能,以便基于软件的基本功能与远端的用户进行交互。
用户对于软件功能需求的提高,也增加了软件开发的难度。特别是对于那些原本仅针对单机的软件,要实现网络功能,必须在软件中添加相应的通信功能模块。与实现单机功能相比,网络功能的实现对于开发人员与开发环境都提出了更高的要求,如果要实现较为复杂的网络功能,可能还需要搭建服务器。因此,在单机软件上实现网络功能,将明显增加开发难度及开发成本,这也在一定程度上限制了开发人员。此外,由于不同的开发人员在开发或测试时所使用的具体网络环境不同,用户在实际使用软件的网络功能时,难免会遇到兼容性问题,往往需要用户针对不同的软件进行不同的网络连接配置,带来操作上的麻烦。
发明内容
本申请实施例提供一种实现单机软件通信的方法及装置,以解决在单机软件中实现网络功能所存在的难度高、成本高、兼容性差等问题,技术方案如下:
本申请实施例提供一种实现单机软件通信的方法,包括:
第一用户设备与第二用户设备建立即时通信连接;第一用户设备中的单机软件A1使用所述即时通信连接,与第二用户设备中的单机软件A2进行通信;
其中,所述第一用户设备与第二用户设备互为对端设备,所述第一用户设备与第二用户设备之间的即时通信连接,由第一用户设备中的即时通信客户端B1与第二用户设备中的即时通信客户端B2建立;所述第一用户设备中的单机软件A1与所述第二用户设备中的单机软件A2为相同软件。
本申请实施例还提供一种实现单机软件通信的装置,位于本地用户设备与对端用户设备中,该装置包括连接建立单元、请求发送单元、请求接收单元和单机软件启动单元;
所述连接建立单元,用于建立本地用户设备与对端用户设备的即时通信连接;
在本地用户设备侧:
所述单机软件启动单元,用于启动本地的单机软件A1;
所述请求发送单元,用于向对端用户设备发送单机软件通信请求,所述单机软件通信请求中,携带所述单机软件A1的标识;
在对端用户设备侧:
所述请求接收单元,用于接收所述单机软件通信请求;
所述单机软件启动单元,用于根据所述单机软件通信请求中携带的单机软件标识,启动本地的单机软件A2;
所述单机软件A1与单机软件A2使用所述连接建立单元建立的即时通信连接进行通信。
本申请实施例所提供的技术方案,单机软件使用即时通信系统所建立的网络连接进行通信,从而不要求单机软件本身具备通信功能模块,有效降低了在单机软件实现网络功能的开发难度及开发成本。此外,由于各单机软件统一使用即时通信系统所建立的网络连接,因此只需一次性配置即可实现多种单机软件的正常通信,简化了用户操作。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例一的实现单机软件通信方法的流程图;
图2为本申请实施例二的实现单机软件通信方法的流程图;
图3为本申请实施例三的实现单机软件通信装置的结构示意图;
图4为本申请实施例四的实现单机软件通信装置的结构示意图。
具体实施方式
首先对本申请实施例所提供的一种实现单机软件通信的方法进行说明,包括:
第一用户设备与第二用户设备建立即时通信连接;第一用户设备中的单机软件A1使用所述即时通信连接,与第二用户设备中的单机软件A2进行通信;
其中,所述第一用户设备与第二用户设备互为对端设备,所述第一用户设备与第二用户设备之间的即时通信连接,由第一用户设备中的即时通信客户端B 1与第二用户设备中的即时通信客户端B2建立;所述第一用户设备中的单机软件A1与所述第二用户设备中的单机软件A2为相同软件。
上述技术方案中,单机软件使用即时通信系统所建立的网络连接进行通信,从而不要求单机软件本身具备通信功能模块。从开发人员的角度来讲,可以重点关心单机软件基本功能的实现,对于网络功能的实现部分,只需留出能够与本地的即时通信客户端交互的接口即可,即使是相对复杂的网络功能也可以通过即时通信服务器来实现,有效降低了在单机软件实现网络功能的开发难度及开发成本。
另一方面,现有技术中,由于不同的开发人员在开发或测试时所使用的具体网络环境不同,用户在实际使用软件的网络功能时,难免会遇到兼容性问题。应用本申请提供的技术方案,多个单机软件可以统一使用同一套即时通信系统所建立的网络连接,因此无需针对每个具体的单机软件进行通信配置,简化了用户操作。
再一方面,现有技术中,由于开发难度及开发成本等方面的限制,很多在单机软件中实现的网络功能并不会过多考虑通信安全、故障处理等方面的问题,而即时通信系统一般都具有较为完善的通信安全及故障处理机制,因此,应用本申请技术方案,还可以有效地提高单机软件通信的可靠性。
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
实施例一:
在本申请的实施例中,涉及的通信实体包括第一用户设备与第二用户设备,在通信过程中,第一用户设备与第二用户设备互为对端设备。其中,在第一用户设备侧涉及两个部分:单机软件A1与即时通信客户端B1;在第二用户设备侧也涉及两个部分:单机软件A2与即时通信客户端B2;其中,B1与B2属于同一即时通信系统,A1与A2为相同的软件。A1与A2通过B1与B2建立的即时通信连接进行通信。图1所示为实现本实施例方法的流程图,包括以下步骤:
S101,A1向B1发送通信请求;
在本申请实施例中,单机软件虽然在逻辑上仍具有通信模块,但是该模块实际上并不直接与网络侧发生交互。当单机软件有通信需求时,将首先向本地用户设备中的即时通信客户端B1发送一个通信请求。
为保证单机软件能够正确地使用即时通信连接进行通信,单机软件和即时通信软件应具有一定的对应关系。对于即时通信客户端而言,除了具备基本的即时通信功能之外,还需要预先定义专用的本地通信接口,在本机实现即时通信软件进程与单机软件进程之间的内部消息交互。在实现单机软件的网络功能时,只需依据即时通信软件所定义的本地通信接口,实现单机软件与即时通信软件在本地的交互功能即可,无需涉及与网络的交互部分。可以理解的是,一种单机软件可以选择使用多种即时通信软件实现通信,而一种即时通信软件也可以同时支持多种单机软件的通信。
假定单机软件A1为一游戏软件,本地用户希望通过网络与其他用户进行游戏,选择相应的网络功能后,例如请求与某人联机游戏,或者寻找联机对手等等,A1将向本地用户设备中相应的即时通信客户端B1发送一个通信请求。当然,以上情况是默认B1当前已经在本地用户设备中运行的情况,在具体实施时,A1在发送通信请求之前,可以首先检测本地用户设备中当前是否有相应的即时通信客户端在运行,如果没有,则可以自动启动相应的即时通信客户端,或者向用户发出提示信息,提示用户手动启动相应的即时通信客户端。
S102,B1接收A1发送的通信请求后,对A1进行鉴权;
出于安全通信目的的考虑,B1接收到A1发送的通信请求后,可以进一步确认是否允许A1使用即时通信连接进行通信。鉴权具体可以包括多种实现方式,例如:向用户提示相关信息,要求用户进一步确认;或者,B1要求A1提供的相应的鉴权信息,以确定当前用户的身份,这个鉴权信息也可以采用与即时聊天账户一致的用户名或密码。A1也可以在S101中发送的通信请求中,直接携带相应的鉴权信息。
可以理解的是,本步骤还可以用于兼容性的检查。在S101中,A1在向B1发送通信请求时,实际上已经确定了可以通过B1实现网络功能;而在本步骤中,B1还可以进一步确认是否支持A1的通信,具体可以通过检查版本号、发送特定测试数据等方式实现。本步骤与S101结合,相当于实现了A1与B 1的双向兼容性检查,从而确保A1能够正确地使用B1所建立的即时通信连接进行通信。
S103,B1向A1发送通信请求响应;
本步骤为可选步骤,如果A1通过了B1的鉴权,则B1可以在响应消息中通知A1鉴权成功,并且继续执行后续步骤。如果A1没有通过B1的鉴权,B1将拒绝A1的通信请求,并且发送响应消息中通知A1,在响应消息中还可以进一步携带拒绝的原因值,例如:用户身份非法、软件版本不兼容等等。
S104,B1检测当前是否与对端用户设备存在即时通信连接。
A1通过鉴权之后,B1就可以允许A1使用即时通信连接进行通信了,但是在具体执行时,还分为以下几种情况:
1)本地用户希望与指定的用户进行通信,并且本地用户设备与该指定用户设备之间当前已经存在一个即时通信连接(例如双方正在进行聊天)。这种情况下,A1可以直接使用当前的即时通信连接与对端用户设备进行通信。相应地,对端用户设备中也应启动同样的单机软件,以下称为A2。即:A1与A2通过本地的即时通信客户端B1与对端即时通信客户端(以下称为B2)所建立的即使通信连接进行通信。可以理解的是,在对端用户设备侧,A2与B2也可以执行类似S102的鉴权操作,这里不再详细说明。
2)本地用户希望与指定的用户进行通信,并且本地用户设备与该指定用户设备之间当前不存在即时通信连接。
3)本地用户希望随机寻找一个通信对象,例如玩游戏时随机寻找联机对手,这种情况下,该随机寻找的通信对象与本地用户设备当前必然不存在即时通信连接。
在实际执行中,A1需要向B1提供通信对象设备的标识,该标识可以是一个表示特定通信对象的标识(例如即时通信账号),也可以是一个用于表示随机寻找通信对象的标识。该标识也可以直接携带于A1发给B1的通信请求中。B1根据该标识对当前的即时通信连接状态进行检测,如果是情况1),则允许A1与A2使用当前的即时通信连接进行通信,如果是情况2)或3),则继续执行S105。
S105,B1与对端设备建立即时通信连接。
针对S104中的2)、3)两种情况,B1需要根据A1提供的通信对象设备的标识,立即与相应的对端设备建立即时通信连接,以供A1使用。
即时通信系统主要基于两种协议:TCP(Transfer Control Protocol,传输控制协议)和UDP(User Datagram Protocol,用户数据报协议)。其中,UDP的特点是不需要建立连接,网络开销较小,但是数据传输可靠性差。而TCP是一种面向连接的协议,其传输可靠性较高。在本申请所提供的方案中,单机软件的通信对于数据可靠性的要求比较高,因此需要在即时通信客户端之间建立可靠的TCP连接。
B1首先将对端设备的标识发送至即时通信服务器,即时通信服务器将根据标识的具体类型向B1返回相应的信息:
对应上述情况2),即时通信服务器将直接向B1返回该标识所对应的用户设备的IP地址、TCP端口号等信息;这里需要注意的是,对端用户设备当前必须在即时通信系统中处于在线状态,否则无法实现即时通信连接。
而对应上述情况3),即时通信服务器将向B1随机返回某个在线用户所对应的用户设备的IP地址、TCP端口号等信息、或者向B1返回多个在线用户设备的相关信息,再由本地用户自行选择通信对象。
B1根据服务器所返回的对端用户设备的相关信息,开始与对端用户设备的B2建立即时通信连接。
S106,B1向A1返回连接建立成功响应消息。
连接建立成功之后,B1向A1返回连接建立成功响应消息,该步骤为可选步骤。后续A1与A2就可以使用B1与B2所建立的即时通信连接进行通信。其中,根据软件具体的网络功能需求以及网络环境等因素,可以直接采用点对点的方式进行通信,也可以通过即时通信服务器进行通信,本实施例对此不做限制。
实施例二:
实施例一所提供的方法中,是由单机软件发起的整个通信流程,而在实际应用中,更为常见的一种情况是:用户当前正在使用即时通信系统进行聊天(即B1与B2已经建立了即时通信连接),本地用户希望运行某个单机软件并且与对端用户实现互动,也就是说,通信流程的发起者为本端的即时通信客户端B1,针对这一具体情况,本实施例提供另一种实现单机软件通信的方法,流程图如图2所示,包括以下步骤:
S201,B1与B2建立即时通信连接;
在本实施中,启动单机软件之前,本地用户设备已经与对端用户设备建立了即时通信连接。
S202,B1启动本地用户设备中的单机软件A1;
当本地用户希望运行某个单机软件A1时,直接由B1来启动A1。相当于本地的即时通信客户端直接允许A1使用即时通信连接,因此可以省去鉴权等步骤。
现有技术中,在即时通信客户端中启动软件的方式包括两种:1)单独开启一个与聊天窗口相互独立的窗口,在独立窗口内运行软件;2)将聊天窗口扩大并将软件嵌入聊天窗口运行。其中,方式1)的缺点是:软件与聊天窗口结合性差,缺乏整体性,无法实现软件附着聊天窗口移动,使得用户往往无法从感知上将软件功能与聊天窗口关联起来。而方式2)的缺点则是软件使用过程中无法随时改变界面大小,灵活性较差。
针对上述问题,本实施例提供一种在即时通信客户端中启动软件的方式:B1在当前已有即时通信聊天窗口的基础上,创建一个聊天窗口的扩展窗口,并在扩展窗口中启动A1,这样做的好处如下:
1)A1运行过程中,当因为功能界面切换需要改变自身尺寸大小时,即可向由B1管理的扩展窗口发出请求。扩展窗口接收到A1发来的尺寸改变请求后,立即调整自身尺寸以适应A1的功能界面变化。扩展窗口的自适应尺寸变化不限次数及频率,可以随时根据A1的请求进行。
2)在同一扩展窗口中,可以同时加载多个软件,其中,既可以包括有网络功能需求的软件,也可以包括普通的单机软件。各个软件并行工作,互不影响。例如,在扩展窗口中已经存在A1运行的情况下,如果用户基于该扩展窗口启动另一个软件A11,则A11可以与A1同时并行运行,用户可以通过扩展窗口上的切换装置切换两个软件的功能操作界面,切换过程中,扩展窗口可以始终自适应用户当前正在使用的软件界面尺寸变化而调整。
可以理解的是,即时通信客户端也可以在不同的扩展窗口中启动本地用户设备中的多个单机软件,本实施例对此并不进行限制。
3)扩展窗口可以与聊天窗口整体移动,也可独立移动。在扩展窗口中已经存在软件运行的情况下,如果用户拖动聊天窗口位置,则扩展窗口可以附着跟随聊天窗口一同改变位置,扩展窗口和聊天窗口之间的相对位置不发生变化。如果用户将扩展窗口拖离聊天窗口,则之后聊天窗口的位置变化与扩展窗口位置变化相互独立、互不影响。用户可以将扩展窗口拖动至屏幕任意位置使用。
S203,B1向B2发送单机软件通信请求。
B1启动A1之后,向对端用户设备的B2发送单机软件通信请求,在请求中,需要携带单机软件A1的标识,以便B2可以启动与A1相同的软件。
本步骤可以由用户触发执行,也可以由B1自动执行。其中,在B1自动执行的情况下,由于B1所启动的软件可能是有网络功能需求的软件,也可能是普通的单机软件,因此,B1可以首先检测A1是否需要用户通过网络互动使用,如果是,再向B2发送单机软件通信请求。
S204,B2接收所述单机软件通信请求;根据所述单机软件通信请求中携带的单机软件标识,启动本地用户设备中的单机软件A2;其中,启动A2的操作可以由B2自动执行,也可以由B2向用户发出提示信息,由用户确认是否启动。B2启动A2的方式可以与B1启动A1的方式相同。
本步骤中,如果B2在本机中没有检测到相应的软件,可以提示用户进行下载,当然也可以拒绝B1所发送的软件通信请求。
S205,B2启动A2后,向B1发送单机软件通信请求响应。
至此,A1与A2就可以使用B1与B2所建立的即时通信连接进行通信。
在本实施例中,针对通信双方当前已经存在即时通信连接的实际情况,由即时通信客户端发起整个通信流程,与实施例一相比,可以在不损失通信可靠性的前提下,省去鉴权以及一些本地交互流步骤流程。另一方面,本实施例还提供一种在扩展窗口中启动软件的方法,以实现更好的用户体验。
实施例三:
相应于上面的方法实施例一,本申请还提供一种实现单机软件通信的装置,位于本地用户设备与对端用户设备中,参见图3所示,该装置包括:
连接建立单元310,用于建立本地用户设备与对端用户设备建立的即时通信连接;
请求接收单元320,用于接收本地用户设备中的单机软件A1发送的通信请求;
鉴权通信单元330,用于对A1进行鉴权,如果鉴权通过,则允许A1与对端用户设备中的单机软件A2使用所述即时通信连接进行通信;其中,所述单机软件A1与单机软件A2为相同软件。
实施例四:
相应于上面的方法实施例二,本申请还提供另一种实现单机软件通信的装置,位于本地用户设备与对端用户设备中,参见图4所示,该装置包括:连接建立单元410、单机软件启动单元420、请求发送单元430和请求接收单元440;
所述连接建立单元410,用于建立本地用户设备与对端用户设备的即时通信连接;
在本地用户设备侧:
所述单机软件启动单元420,用于启动本地的单机软件A1;
所述请求发送单元430,用于向对端用户设备发送单机软件通信请求,所述单机软件通信请求中,携带所述单机软件A1的标识;
在对端用户设备侧:
所述请求接收单元440,用于接收所述单机软件通信请求;
所述单机软件启动单元420,用于根据所述单机软件通信请求中携带的单机软件标识,启动本地的单机软件A2;
所述单机软件A1与单机软件A2使用所述连接建立单元建立的即时通信连接进行通信。
其中,所述单机软件启动单元420,具体可以包括:
扩展窗口创建子单元,用于创建即时通信聊天窗口的扩展窗口;
启动子单元,用于在所述扩展窗口中启动单机软件。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本申请可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (8)
1.一种实现单机软件通信的方法,其特征在于,包括:
第一用户设备与第二用户设备建立即时通信连接;第一用户设备中的单机软件A1使用所述即时通信连接,与第二用户设备中的单机软件A2进行通信;
所述A1使用所述即时通信连接与A2进行通信,包括:
第一用户设备中的即时通信客户端B1接收A1发送的通信请求;
B1对A1进行鉴权,如果鉴权通过,则允许A1与A2使用所述即时通信连接进行通信;
或者,
B1与第二用户设备中的即时通信客户端B2建立即时通信连接;
B1启动本地用户设备中的单机软件A1;向B2发送单机软件通信请求,所述单机软件通信请求中,携带所述单机软件A1的标识;
B2接收所述单机软件通信请求;根据所述单机软件通信请求中携带的单机软件标识,启动本地用户设备中的单机软件A2;
A1与A2使用B1与B2所建立的时通信连接进行通信;
其中,所述第一用户设备与第二用户设备互为对端设备,所述第一用户设备与第二用户设备之间的即时通信连接,由第一用户设备中的即时通信客户端B1与第二用户设备中的即时通信客户端B2建立,所述即时通信连接为传输控制协议TCP连接;所述单机软件A1与即时通信客户端B1通过预先定义的本地通信接口在本地实现内部消息的交互,无需涉及与网络的交互;所述单机软件A2与即时通信客户端B2通过预先定义的本地通信接口在本地实现内部消息的交互,无需涉及与网络的交互;所述第一用户设备中的单机软件A1与所述第二用户设备中的单机软件A2为相同软件。
2.根据权利要求1所述的方法,其特征在于,所述通信请求中携带第二用户设备的标识,所述B1允许A1与A2使用所述即时通信连接进行通信,具体实现为:
B1在对A1的鉴权通过之后,根据所述第二用户设备的标识,检测B1与B2当前是否存在即时通信连接;
如果是,则允许A1与A2使用所述当前的即时通信连接进行通信;
如果否,则B1根据所述第二用户设备的标识与B2建立即时通信连接,并允许A1与A2使用所建立的即时通信连接进行通信。
3.根据权利要求1所述的方法,其特征在于,所述即时通信客户端启动本地用户设备中的单机软件,具体实现为:
即时通信客户端创建即时通信聊天窗口的扩展窗口,并在所述扩展窗口中启动单机软件。
4.根据权利要求3所述的方法,其特征在于,所述即时通信客户端在扩展窗口中启动单机软件,包括:
即时通信客户端在相同的扩展窗口中启动本地用户设备中的多个单机软件;或
即时通信客户端在不同的扩展窗口中启动本地用户设备中的多个单机软件。
5.根据权利要求1、3或4所述的方法,其特征在于,B1向B2发送单机软件通信请求之前,还包括:
B1检测A1是否需要用户通过网络互动使用,如果是,则向B2发送单机软件通信请求。
6.一种实现单机软件通信的装置,位于本地用户设备与对端用户设备中,其特征在于,该装置包括:
连接建立单元,用于建立本地用户设备与对端用户设备的即时通信连接,所述即时通信连接为传输控制协议TCP连接,所述即时通信连接由所述本地用户设备中的即时通信客户端B1与对端用户设备中的即时通信客户端B2建立,所述本地用户设备中的单机软件A1与所述即时通信客户端B1通过预先定义的本地通信接口在本地实现内部消息的交互,无需涉及与网络的交互,所述对端用户设备中的单机软件A2与所述即时通信客户端B2通过预先定义的本地通信接口在本地实现内部消息的交互,无需涉及与网络的交互;
请求接收单元,用于接收本地用户设备中的单机软件A1发送的通信请求;
鉴权通信单元,用于对A1进行鉴权,如果鉴权通过,则允许A1与对端用户设备中的单机软件A2使用所述即时通信连接进行通信;其中,所述单机软件A1与单机软件A2为相同软件。
7.一种实现单机软件通信的装置,位于本地用户设备与对端用户设备中,其特征在于,该装置包括连接建立单元、请求发送单元、请求接收单元和单机软件启动单元;
所述连接建立单元,用于建立本地用户设备与对端用户设备的即时通信连接,所述即时通信连接为传输控制协议TCP连接,所述即时通信连接由所述本地用户设备中的即时通信客户端B1与对端用户设备中的即时通信客户端B2建立,所述本地用户设备中的单机软件A1与所述即时通信客户端B1通过预先定义的本地通信接口在本地实现内部消息的交互,无需涉及与网络的交互,所述对端用户设备中的单机软件A2与所述即时通信客户端B2通过预先定义的本地通信接口在本地实现内部消息的交互,无需涉及与网络的交互;
在本地用户设备侧:
所述单机软件启动单元,用于启动本地的单机软件A1;
所述请求发送单元,用于向对端用户设备发送单机软件通信请求,所述单机软件通信请求中,携带所述单机软件A1的标识;
在对端用户设备侧:
所述请求接收单元,用于接收所述单机软件通信请求;
所述单机软件启动单元,用于根据所述单机软件通信请求中携带的单机软件标识,启动本地的单机软件A2;
所述单机软件A1与单机软件A2使用所述连接建立单元建立的即时通信连接进行通信。
8.根据权利要求7所述的装置,其特征在于,所述单机软件启动单元,包括:
扩展窗口创建子单元,用于创建即时通信聊天窗口的扩展窗口;
启动子单元,用于在所述扩展窗口中启动单机软件。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910208728.2A CN102055732B (zh) | 2009-11-05 | 2009-11-05 | 一种实现单机软件通信的方法及装置 |
PCT/US2010/047783 WO2011056289A1 (en) | 2009-11-05 | 2010-09-03 | Method and apparatus for implementing communication of stand-alone software |
JP2012536808A JP5722906B2 (ja) | 2009-11-05 | 2010-09-03 | スタンドアロン型ソフトウェアの通信を実施するための方法および装置 |
US12/995,391 US8443421B2 (en) | 2009-11-05 | 2010-09-03 | Method and apparatus for implementing communication of stand-alone software |
EP10828704.6A EP2497032A4 (en) | 2009-11-05 | 2010-09-03 | Method and apparatus for implementing communication of stand-alone software |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910208728.2A CN102055732B (zh) | 2009-11-05 | 2009-11-05 | 一种实现单机软件通信的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102055732A CN102055732A (zh) | 2011-05-11 |
CN102055732B true CN102055732B (zh) | 2018-05-08 |
Family
ID=43959662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910208728.2A Active CN102055732B (zh) | 2009-11-05 | 2009-11-05 | 一种实现单机软件通信的方法及装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8443421B2 (zh) |
EP (1) | EP2497032A4 (zh) |
JP (1) | JP5722906B2 (zh) |
CN (1) | CN102055732B (zh) |
WO (1) | WO2011056289A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110162255B (zh) * | 2019-05-30 | 2021-06-01 | 腾讯科技(深圳)有限公司 | 单机程序的运行方法、装置、设备及存储介质 |
WO2022083722A1 (zh) * | 2020-10-22 | 2022-04-28 | 华为技术有限公司 | 一种不同设备之间的跨应用互联方法及相关装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064693A (zh) * | 2006-04-24 | 2007-10-31 | 腾讯科技(深圳)有限公司 | 一种在即时通讯中同步呈现动画的方法 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7074999B2 (en) | 1996-07-10 | 2006-07-11 | Sitrick David H | Electronic image visualization system and management and communication methodologies |
US6246688B1 (en) | 1999-01-29 | 2001-06-12 | International Business Machines Corp. | Method and system for using a cellular phone as a network gateway in an automotive network |
SE9902137D0 (sv) | 1999-06-08 | 1999-06-08 | Ericsson Telefon Ab L M | A method and a system relating to a mobile communication device |
US7496578B2 (en) | 1999-11-04 | 2009-02-24 | Aol Llc | Shared internet storage resource, user interface system, and method |
US6351776B1 (en) | 1999-11-04 | 2002-02-26 | Xdrive, Inc. | Shared internet storage resource, user interface system, and method |
US6898623B1 (en) | 2000-06-16 | 2005-05-24 | Hewlett-Packard Development Company L.P. | Simplified configuration of an internet-enabled device |
CN1357828A (zh) * | 2000-12-08 | 2002-07-10 | 英业达股份有限公司 | 可在单机版与网络版间转换的软件设计方法 |
US7386878B2 (en) * | 2002-08-14 | 2008-06-10 | Microsoft Corporation | Authenticating peer-to-peer connections |
CN100356333C (zh) * | 2002-12-27 | 2007-12-19 | 清华大学 | 基于网络的应用程序协同工作、决策系统及其实现方法 |
US7549924B2 (en) * | 2003-05-09 | 2009-06-23 | Microsoft Corporation | Instant messaging embedded games |
US7870199B2 (en) * | 2003-10-06 | 2011-01-11 | Aol Inc. | System and method for seamlessly bringing external services into instant messaging session |
WO2005050395A2 (en) | 2003-11-18 | 2005-06-02 | Gh Llc | Content communication system and methods |
US7765263B1 (en) * | 2003-12-19 | 2010-07-27 | Apple Inc. | Method and apparatus for processing electronic messages |
US7660904B2 (en) * | 2004-05-11 | 2010-02-09 | Microsoft Corporation | Providing keys to share data within an instant messaging session |
US8869043B2 (en) * | 2004-06-07 | 2014-10-21 | Avaya Inc. | System for presenting applications on instant messaging clients |
US7451186B2 (en) * | 2004-08-10 | 2008-11-11 | Microsoft Corporation | Method and system of integrating instant messaging with other computer programs |
US8903919B2 (en) * | 2004-09-14 | 2014-12-02 | International Business Machines Corporation | Dynamic integration of application input and output in an instant messaging/chat session |
US20070174405A1 (en) * | 2006-01-23 | 2007-07-26 | Yen-Fu Chen | Remote operation of instant messaging systems |
US20070203993A1 (en) * | 2006-02-28 | 2007-08-30 | Yigang Cai | Instant messaging control |
US20090015567A1 (en) | 2006-03-20 | 2009-01-15 | Marwa Abdelbaki | Digital Stand Alone Device For Processing Handwritten Input |
US20070260675A1 (en) * | 2006-05-08 | 2007-11-08 | Forlines Clifton L | Method and system for adapting a single-client, single-user application to a multi-user, multi-client environment |
CN100539553C (zh) * | 2006-12-05 | 2009-09-09 | 华为技术有限公司 | 终端之间传输数据的方法、系统及终端、服务器 |
US7962556B2 (en) * | 2007-08-08 | 2011-06-14 | International Business Machines Corporation | Instant messaging session initiation using a proxy session request |
US9686087B2 (en) * | 2007-11-02 | 2017-06-20 | International Business Machines Corporation | Synchronization of questions and answers in a collaborative messaging environment |
US20090150499A1 (en) * | 2007-12-10 | 2009-06-11 | International Business Machines Corporation | Method for sharing information over an instant messaging network |
CN101217508B (zh) * | 2007-12-29 | 2010-06-23 | 腾讯科技(深圳)有限公司 | 一种基于即时通信平台的网络代理系统及其实现方法 |
US8683046B2 (en) | 2008-11-21 | 2014-03-25 | Microsoft Corporation | Unified interface for configuring multiple networking technologies |
US20100235430A1 (en) | 2009-03-13 | 2010-09-16 | Bruce Kim | Methods and systems to provide services to a mobile device |
-
2009
- 2009-11-05 CN CN200910208728.2A patent/CN102055732B/zh active Active
-
2010
- 2010-09-03 WO PCT/US2010/047783 patent/WO2011056289A1/en active Application Filing
- 2010-09-03 US US12/995,391 patent/US8443421B2/en active Active
- 2010-09-03 JP JP2012536808A patent/JP5722906B2/ja active Active
- 2010-09-03 EP EP10828704.6A patent/EP2497032A4/en not_active Ceased
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101064693A (zh) * | 2006-04-24 | 2007-10-31 | 腾讯科技(深圳)有限公司 | 一种在即时通讯中同步呈现动画的方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2013510349A (ja) | 2013-03-21 |
JP5722906B2 (ja) | 2015-05-27 |
US8443421B2 (en) | 2013-05-14 |
EP2497032A4 (en) | 2017-02-08 |
WO2011056289A1 (en) | 2011-05-12 |
EP2497032A1 (en) | 2012-09-12 |
US20120222088A1 (en) | 2012-08-30 |
CN102055732A (zh) | 2011-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101741866B1 (ko) | Http를 통한 신뢰할만한 프로토콜 터널링을 위한 방법 및 시스템 | |
US9027112B2 (en) | Mobile device management | |
US9231904B2 (en) | Deploying and managing networked devices | |
EP2454679B1 (en) | Management of an instant message session | |
CN111818100B (zh) | 一种跨网配置通道的方法、相关设备及存储介质 | |
US20100197293A1 (en) | Remote computer access authentication using a mobile device | |
US9501629B2 (en) | Transparent reconnection | |
CN105468462B (zh) | 进程间通信身份验证及应用软件间通信方法和系统 | |
WO2012130036A1 (zh) | 一种跨应用的网络通信方法和设备 | |
CN102035904A (zh) | 一种将tcp网络通信服务端转换为客户端的方法 | |
CN103067407B (zh) | 用户终端接入网络的认证方法及装置 | |
CN107508746B (zh) | 好友添加方法、装置及电子设备 | |
CN110446197B (zh) | 一种智能设备的通信控制方法、装置、设备及存储介质 | |
CN107733890B (zh) | 基于web协议的跨网通讯方法、电子设备、存储介质、系统 | |
CN102055732B (zh) | 一种实现单机软件通信的方法及装置 | |
CN105471884B (zh) | 一种认证方法、服务器 | |
CN114928459B (zh) | 用于私有通讯架构的连接方法与电脑可读取媒体 | |
CN105978774B (zh) | 一种接入认证的方法和装置 | |
TWI487340B (zh) | Method and device for realizing stand-alone software communication | |
CN105119801B (zh) | 一种社交消息管理方法、系统、用户终端及服务器 | |
CN112130932A (zh) | 一种单实例运行的方法、装置及电子设备 | |
CN106911696B (zh) | 一种保活报文传输方法和装置 | |
CN114679486B (zh) | 通信交互方法及系统、应用端、客户端、中转服务端 | |
CN105450602A (zh) | 移动终端控制方法和装置 | |
JP4581850B2 (ja) | 計算機の認証方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1152169 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |