一种实现手机与网络游戏中好友聊天的方法及系统的制作方法

文档序号:7792567阅读:199来源:国知局
专利名称:一种实现手机与网络游戏中好友聊天的方法及系统的制作方法
技术领域
本发明涉及网络游戏技术领域,特别涉及一种实现手机与网络游戏中好友聊天的方法及系统。
背景技术
社交是网络游戏的核心体验之一,而在线实时聊天则是网络游戏社交功能的一个重要元素。目前基本上所有的网络游戏都实现了集成式的聊天系统,如图1所示,聊天系统集成在游戏系统内,游戏用户想要聊天,需要打开游戏客户端,登入到游戏世界中才能使用聊天系统和游戏中的其它使用游戏客户端的在线游戏好友聊天。因为聊天系统是集成在游戏系统内的,意味着用游戏用户只能通过游戏客户端进入游戏后才能进行聊天,而不能与未登录游戏的游戏用户进行交流。但是游戏用户在很多时候是没有办法使用游戏客户端的,例如在工作的时候,出差时候,长时间乘车的时候等; 这些无法登录游戏客户端的游戏用户如果长时间无法和游戏内的好友聊天,缺乏足够的社交行为,就很容易对游戏世界产生疏远感,最终致使游戏用户放弃游戏。

发明内容
有鉴于此,本发明提供了一种实现手机与网络游戏中好友聊天的方法及系统,可以实现手机与网络游戏内好友进行聊天,从而使游戏用户在无法登录游戏客户端时,仍然可以通过手机与游戏内好友交流,增加网络游戏对游戏用户的吸引力。为达上述目的,本发明的技术方案具体是这样实现的一种实现手机与网络游戏中好友聊天的系统,该系统包括外部聊天服务器,手机聊天客户端,游戏数据库,以及内部聊天系统;所述外部聊天服务器,用于接收手机聊天客户端的登录请求,根据从所述游戏数据库获取的验证信息对所述登录请求进行验证;将从所述手机聊天客户端收到的聊天消息转发给所述内部聊天系统,接收所述内部聊天系统发送的聊天消息并向对应的手机聊天客户端发送;所述手机聊天客户端,用于向所述外部聊天服务器发送登录请求,从所述外部聊天服务器发送和接收聊天消息;所述游戏数据库,用于保存与游戏用户的聊天账号对应的验证信息;所述内部聊天系统,与所述外部聊天服务器连接,集成于游戏系统内;用于对聊天消息进行处理和转发,在收到聊天消息时,除向相应的游戏客户端发送外,将所有的聊天消息都复制一份并向所述外部聊天服务器发送。较佳地,所述游戏数据库进一步用于保存与游戏用户的聊天账号对应的备选聊天角色数据和好友数据;所述外部聊天服务器进一步用于向成功登录外部聊天服务器的手机聊天客户端发送从所述游戏数据库获取的,与所述登录请求中的聊天账号对应的备选聊天角色数据,根据手机聊天客户端返回的聊天角色选择数据确定手机聊天客户端使用的聊天角色;根据所述手机聊天客户端使用的聊天角色,从所述游戏数据库获取对应的好友数据,并向手机聊天客户端发送。较佳地,所述手机聊天客户端进一步用于接收所述外部聊天服务器发送的与该手机聊天客户端的聊天账号对应的备选聊天角色数据;向所述外部聊天服务器返回聊天角色选择数据;接收外部聊天服务器发送的好友数据。较佳地,所述游戏数据库进一步用于保存对应所述聊天角色的帮派存盘数据;所述外部聊天服务器根据帮派聊天消息中携带的帮派ID,并根据所述帮派存盘数据逐个查找与该帮派中的成员对应的已登录的手机聊天客户端,如果能找到,就将帮派聊天消息发送给该手机聊天客户端。一种实现手机与网络游戏中好友聊天的方法,该方法包括通过预先建立的外部聊天服务器接收手机聊天客户端的登录请求,根据从预先建立的游戏数据库获取的验证信息对所述登录请求进行验证;将从成功登录外部聊天服务器的手机聊天客户端收到的聊天消息转发给集成于游戏系统内,用于对聊天数据进行处理和转发的内部聊天系统;所述内部聊天系统在收到聊天消息时,除向相应的游戏客户端发送外,还将所有的聊天消息都复制一份并向所述外部聊天服务器发送;所述外部聊天服务器接收所述内部聊天系统发送的聊天消息并向对应的手机聊天客户端发送。较佳地,该方法进一步包括外部聊天服务器进一步向成功登录外部聊天服务器的手机聊天客户端发送从所述游戏数据库获取的,与所述登录请求中的聊天账号对应的备选聊天角色数据,根据手机聊天客户端返回的聊天角色选择数据确定手机聊天客户端使用的聊天角色;根据所述手机聊天客户端使用的聊天角色,从所述游戏数据库获取对应的好友数据,并向手机聊天客户端发送。较佳地,该方法进一步包括手机聊天客户端接收所述外部聊天服务器发送的与该手机聊天客户端的聊天账号对应的备选聊天角色数据;并向所述外部聊天服务器返回聊天角色选择数据;接收外部聊天服务器发送的好友数据。较佳地,该方法进一步包括所述游戏数据库进一步保存对应所述聊天角色的帮派存盘数据;所述外部聊天服务器根据帮派聊天消息中携带的帮派ID,并根据所述帮派存盘数据逐个查找与该帮派中的成员对应的已登录的手机聊天客户端,如果能找到,就将帮派聊天消息发送给该手机聊天客户端。由上述技术方案可见,本发明的这种实现手机与网络游戏中好友聊天的方法及系统,通过内部聊天系统作为消息的处理分发平台,不需要改变游戏内聊天系统,只需要让内部聊天系统将所有的聊天消息都复制一份给外部聊天服务器,从而简单地实现了游戏客户端与手机聊天客户端之间的消息交互。


图1为现有网络游戏聊天系统结构示意图;图2为本发明实施例实现手机与网络游戏中好友聊天的系统结构示意图。
具体实施例方式为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。本发明主要是建立一个独立于游戏系统的外部聊天服务器,通过和游戏系统内的内部聊天系统配合,来为手机聊天客户端提供外部聊天接口,从而实现手机聊天客户端与游戏客户端之间的聊天。具体如图2所示,本发明的实现系统包括外部聊天服务器201,手机聊天客户端202,游戏数据库203,以及内部聊天系统 204 ;其中,外部聊天服务器201,用于接收手机聊天客户端202的登录请求,根据从所述游戏数据库203获取的验证信息对所述登录请求进行验证;向成功登录外部聊天服务器 201的手机聊天客户端202发送从所述游戏数据库203获取的,与所述登录请求中的聊天账号对应的备选聊天角色数据,根据手机聊天客户端202返回的聊天角色选择数据确定手机聊天客户端202使用的聊天角色;根据所述手机聊天客户端202使用的聊天角色,从所述游戏数据库203获取对应的好友数据,并向手机聊天客户端202发送;外部聊天服务器201 将从手机聊天客户端202收到的聊天消息转发给内部聊天系统204,接收内部聊天系统204 发送的聊天消息并向对应的手机聊天客户端202发送。手机聊天客户端202,用于向外部聊天服务器201发送登录请求,接收外部聊天服务器201发送的与该手机聊天客户端202的聊天账号对应的备选聊天角色数据,向外部聊天服务器201返回聊天角色选择数据;接收外部聊天服务器201发送的好友数据;从外部聊天服务器201发送和接收聊天消息;游戏数据库203,用于保存与游戏用户的聊天账号对应的验证信息、备选聊天角色数据和好友数据;内部聊天系统204,与所述外部聊天服务器201连接,集成于游戏系统内;用于游戏客户端之间的聊天交互,对聊天数据进行处理和转发,其实现的功能与现有的游戏内部聊天系统相似,但多了与外部聊天服务器204的数据接口,在收到聊天消息,包括1对1聊天和群体聊天消息时,除向相应的游戏客户端发送外,将所有的聊天消息都复制一份并向外部聊天服务器201发送。上述系统实现了手机聊天客户端202与游戏客户端之间的1对1聊天,另外,本系统还能实现游戏中同一个帮派、同一个工会、同一个阵营等群体聊天的功能,即聊天的参与者仅限于自己所属群体的成员,群体成员发送的聊天消息对该群体的所有成员可见。以帮派为例,则在上述系统的游戏数据库203中,还需要保存对应聊天角色的帮派存盘数据, 包括该聊天角色所属帮派里的所有成员的信息等等,当手机聊天客户端202选择帮派聊天时,消息对象将是帮派的ID,对于帮派聊天,外部聊天服务器201的处理和1对1聊天的处理相同,会将帮派聊天消息向内部聊天系统204转发,而内部聊天系统204也会同样复制一份该帮派聊天消息给外部聊天服务器201,外部聊天服务器201根据帮派聊天消息中携带的帮派ID,逐个查找与该帮派中的成员对应的已登录的手机聊天客户端202,如果能找到, 就将帮派聊天消息发送给该手机聊天客户端202。具体地,外部聊天服务器201在启动运行时,可以先进行初始化,具体过程举例如下用TCP协议监听一个固定的IP地址和端口,该IP地址和端口用于接受手机聊天客户端202的TCP连接请求。同时外部聊天服务器和内部聊天系统204以及游戏数据库203之间建立TCP连接。访问游戏数据库203,从游戏数据库203中读取游戏世界的所有的帮派(不同游戏中的名称不同,也可以是工会、阵营等玩家团体)存盘数据。一个帮派存盘数据可以包含如下内容帮派ID,唯一整数标识;帮派名称,如丐帮;以及所有帮派成员的名字。加载帮派存盘数据后,可在内存中构建一个查找表查找表的查找索引是帮派 ID。通过索引能够查找的数据块中记录着帮派名称字符串和所有帮派成员名字的字符串链表数据结构。加载帮派存盘数据后,还要在内存中构建另一个查找表查找表的查找索引是帮派成员的名字,通过索引能够查找的数据块中记录着帮派成员所归属的帮派ID。上述帮派存盘数据并非必需,如不需要实现帮派群聊的功能,则无需进行和帮派相关的步骤。初始化完成后即可接受手机聊天客户端202的登录。用户通过手机聊天客户端202进行在线实时聊天的第一步,就是登录聊天账号。 手机聊天客户端202通过TCP连接到外部聊天服务器监听的IP地址和端口。连接成功后, 手机聊天客户端202将发送一个登录消息到外部聊天服务器201。登录消息的结构举例如下1、消息大小2、消息ID,对应登录消息O)3、聊天账号,可以与用户在游戏中的游戏角色对应,直接采用用户在游戏中的游戏帐号(32)4、登录密码,可以是明文,若为了保密,也可以是登录密码的MD5码Q56)其中,括号内的数字表示消息字段的长度,单位是字节(Byte),下同。外部聊天服务器201收到登录消息后,从游戏数据库203中读取指定的聊天账号和对应的聊天密码,然后和手机聊天客户端发来的聊天账号和登录密码(也可以是登录密码的MD5码)进行比较验证。若账号和密码的验证失败,外部聊天服务器201终止和手机聊天客户端之间的 TCP连接,或者进一步发送登录失败消息。验证成功的话,外部聊天服务器201向手机聊天客户端202返回一个登录成功的消息,消息结构举例如下1、消息大小
2、消息ID,对应登录成功消息O)当登录聊天账号校验成功后,外部聊天服务器201从游戏数据库203中读取该聊天账号下的所有备选聊天角色的信息,如名字。然后外部聊天服务器201将向手机聊天客户端202发送多条备选聊天角色名字消息,有多少个备选聊天角色就发送多少条消息,也可以所有聊天角色通过一条消息发送,对于每个聊天角色发送一条消息的消息结构举例如下1、消息大小2、消息ID,对应备选聊天角色消息O)3、备选聊天角色名字(32)手机聊天客户端202收到聊天角色消息后,将在客户端界面上显示角色图标和名字等,等待用户选择聊天角色;用户选择使用的聊天角色后,手机聊天客户端202将向外部聊天服务器201发送一条选择聊天角色的消息,消息结构举例如下1、消息大小2、消息ID,对应选择聊天角色消息O)3、选择的聊天角色名字(32)外部聊天服务器201收到手机聊天客户端发来的选择聊天角色消息后,从中取出聊天角色名字,然后从游戏数据库203中取出与该聊天角色为游戏好友的用户名字。当读取到游戏好友的名字后,外部聊天服务器201将向手机聊天客户端202发送多条添加游戏好友的消息,也可以所有游戏好友通过一条消息发送,对于每个游戏好友发送一条消息的消息结构举例如下1、消息大小2、消息ID,对应游戏好友消息O)3、游戏好友的名字(32)当手机聊天客户端202收到游戏好友消息后,可在软件界面上用可视化的方式显示出游戏好友的图标和名字。外部聊天服务器201还可以向手机聊天客户端202发送聊天角色所在的帮派数据,如果该聊天角色有帮派的话。外部聊天服务器201可以通过此前提到的查找表,用聊天角色的名字做索引查找帮派ID,如果有帮派ID,则在另一个查找表用帮派ID做索引查找帮派数据块。找到帮派数据块后,向手机聊天客户端发送帮派加载消息,消息结构举例如下1、消息大小 2、消息ID,对应帮派加载消息O)3、帮派 ID (8)4、帮派名称(32)手机聊天客户端202收到帮派加载消息后,可以在软件界面上显示帮派图标和名称。外部聊天服务器201还可以向手机聊天客户端201发送多条添加帮派成员的消息,消息结构如下
1、消息大小2、消息ID,对应添加帮派成员消息O)3、帮派成员名称(32)手机聊天客户端201收到添加帮派成员的消息后,可保存起来在以后打开帮派聊天窗口的时候显示出他们的名字来。在聊天相关信息都发送给手机聊天客户端202之后,手机聊天客户端202即可通过外部聊天服务器201与游戏客户端或者其他手机聊天客户端202的1对1聊天,或者帮派聊天。1对1聊天是指一个聊天角色和另一个聊天角色之间的私有的聊天过程,没有第三个聊天角色可以参与其中。以使用游戏客户端和使用手机聊天客户端的用户之间进行1对1聊天为例,其实现方法的核心是,外部聊天服务器201总是将从手机聊天客户端收到的1对1聊天消息转发到内部聊天系统204中,同时内部聊天系统204总是将其处理过的1对1聊天消息向外部聊天服务器201复制一份。用户可以通过点击手机聊天客户端上的游戏好友图标,打开聊天对话界面,和游戏好友进行聊天。每一句聊天在点击发送按钮后,手机聊天客户端202将向外部聊天服务器201发送一条1对1聊天消息,消息格式举例如下1、消息大小2、消息ID,对应1对1聊天消息O)3、游戏好友名字(32)4、用户的聊天角色名字(32)5、聊天文本长度6、聊天文本内容(聊天文本长度)外部聊天服务器201收到1对1聊天消息后,将会检查消息的第4个字段用户的聊天角色名字,如果名字并不是这个TCP连接的聊天角色的名字,则判断为冒充行为,同时中断双方的TCP连接,当然这个判断冒充行为的步骤并不是必需的。外部聊天服务器201对于合法的1对1聊天消息转发到内部聊天系统204,内部聊天系统204收到后,经过一些内部处理后,将该1对1聊天消息复制一条发送给外部聊天服务器201。同时根据第3个字段游戏好友名字将1对1聊天消息发送给对应的游戏客户端,这样就实现了手机聊天客户端202与游戏客户端进行1对1聊天。外部聊天服务器201收到了内部聊天系统204复制的1对1聊天消息时(这个1 对1聊天消息可能是从手机聊天客户端发出的,也可能是游戏客户端发出的),根据第3个字段游戏好友名字查找相应的手机聊天客户端的TCP连接,如果能找到,就将1对1聊天消息发送给对应的手机聊天客户端。手机聊天客户端202收到1对1聊天消息后,可在软件界面上显示出消息提醒通知和消息内容。帮派聊天是指一个群体聊天,但是聊天的参与者仅限于自己的帮派的成员,每一条帮派聊天消息将对该帮派的所有成员可见。使用游戏客户端和使用手机聊天客户端的用户之间可以进行帮派聊天的实现方法与1对1聊天类似,外部聊天服务器201总是将从手机聊天客户端202收到的帮派聊天消息转发到内部聊天系统204中,同时内部聊天系统204总是将他处理过的帮派聊天消息向外部聊天服务器201复制一份。手机聊天客户端向外部聊天服务器201发送的帮派聊天消息,消息结构举例如下1、消息大小2、消息ID,对应帮派聊天消息O)3、帮派 ID (8)4、用户的聊天角色名字(32)5、聊天文本长度6、聊天文本内容(聊天文本长度)外部聊天服务器收到一条帮派聊天消息后,将检查第4个字段,即用户的聊天角色名字,如果名字并不是这个TCP连接的聊天角色的名字,则判断为冒充行为,同时中断双方的TCP连接。同样,这个冒充行为判断步骤并不是必需的。然后检查第3个字段帮派ID,使用用户的聊天角色名字作为索引在查找表中查找帮派ID,如果帮派ID不存在或者不正确,则判断为冒充行为,同时中断双方的TCP链接。同样,这个冒充行为判断的步骤也不是必需的。如果判断不是冒充行为,则外部聊天服务器201将该帮派聊天消息转发到内部聊天系统204,内部聊天系统204进行一些内部处理后,将该帮派聊天消息复制一条发送给外部聊天服务器201。同时根据第3个字段帮派ID将该帮派聊天消息发送给当前在线的帮派成员的游戏客户端,这样就实现了手机聊天客户端对游戏客户端进行帮派聊天。外部聊天服务器201收到了内部聊天系统204复制过来的帮派聊天消息时(这个帮派聊天消息最初可能是从手机聊天客户端201发出的,也可能是游戏客户端发出的),根据第3个字段帮派ID作为索引从查找表中查找帮派数据块,然后从帮派数据块的帮派成员名字链表数据结构中,逐个查找与成员名字相应的手机聊天客户端TCP连接,如果能找到, 就将该帮派聊天消息发送给手机聊天客户端。手机聊天客户端收到帮派聊天消息后,可在软件界面上显示出消息提醒通知和消息内容。由上述的实施例可见,本发明的这种实现手机与网络游戏中好友聊天的方法及系统,通过内部聊天系统作为消息的处理分发平台,不需要改变游戏内聊天系统,只需要让内部聊天系统将所有的聊天消息都复制一份给外部聊天服务器,从而简单地实现了游戏客户端与手机聊天客户端之间的消息交互。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种实现手机与网络游戏中好友聊天的系统,其特征在于,该系统包括 外部聊天服务器,手机聊天客户端,游戏数据库,以及内部聊天系统;所述外部聊天服务器,用于接收手机聊天客户端的登录请求,根据从所述游戏数据库获取的验证信息对所述登录请求进行验证;将从所述手机聊天客户端收到的聊天消息转发给所述内部聊天系统,接收所述内部聊天系统发送的聊天消息并向对应的手机聊天客户端发送;所述手机聊天客户端,用于向所述外部聊天服务器发送登录请求,从所述外部聊天服务器发送和接收聊天消息;所述游戏数据库,用于保存与游戏用户的聊天账号对应的验证信息; 所述内部聊天系统,与所述外部聊天服务器连接,集成于游戏系统内;用于对聊天消息进行处理和转发,在收到聊天消息时,除向相应的游戏客户端发送外,将所有的聊天消息都复制一份并向所述外部聊天服务器发送。
2.如权利要求1所述的实现手机与网络游戏中好友聊天的系统,其特征在于, 所述游戏数据库进一步用于保存与游戏用户的聊天账号对应的备选聊天角色数据和好友数据;所述外部聊天服务器进一步用于向成功登录外部聊天服务器的手机聊天客户端发送从所述游戏数据库获取的,与所述登录请求中的聊天账号对应的备选聊天角色数据,根据手机聊天客户端返回的聊天角色选择数据确定手机聊天客户端使用的聊天角色;根据所述手机聊天客户端使用的聊天角色,从所述游戏数据库获取对应的好友数据,并向手机聊天客户端发送。
3.如权利要求2所述的实现手机与网络游戏中好友聊天的系统,其特征在于,所述手机聊天客户端进一步用于接收所述外部聊天服务器发送的与该手机聊天客户端的聊天账号对应的备选聊天角色数据;向所述外部聊天服务器返回聊天角色选择数据;接收外部聊天服务器发送的好友数据。
4.如权利要求2所述的实现手机与网络游戏中好友聊天的系统,其特征在于,所述游戏数据库进一步用于保存对应所述聊天角色的帮派存盘数据;所述外部聊天服务器根据帮派聊天消息中携带的帮派ID,并根据所述帮派存盘数据逐个查找与该帮派中的成员对应的已登录的手机聊天客户端,如果能找到,就将帮派聊天消息发送给该手机聊天客户端。
5.一种实现手机与网络游戏中好友聊天的方法,其特征在于,该方法包括通过预先建立的外部聊天服务器接收手机聊天客户端的登录请求,根据从预先建立的游戏数据库获取的验证信息对所述登录请求进行验证;将从成功登录外部聊天服务器的手机聊天客户端收到的聊天消息转发给集成于游戏系统内,用于对聊天数据进行处理和转发的内部聊天系统;所述内部聊天系统在收到聊天消息时,除向相应的游戏客户端发送外,还将所有的聊天消息都复制一份并向所述外部聊天服务器发送;所述外部聊天服务器接收所述内部聊天系统发送的聊天消息并向对应的手机聊天客户端发送。
6.如权利要求5所述的实现手机与网络游戏中好友聊天的方法,其特征在于,该方法进一步包括外部聊天服务器进一步向成功登录外部聊天服务器的手机聊天客户端发送从所述游戏数据库获取的,与所述登录请求中的聊天账号对应的备选聊天角色数据,根据手机聊天客户端返回的聊天角色选择数据确定手机聊天客户端使用的聊天角色;根据所述手机聊天客户端使用的聊天角色,从所述游戏数据库获取对应的好友数据,并向手机聊天客户端发送。
7.如权利要求6所述的实现手机与网络游戏中好友聊天的方法,其特征在于,该方法进一步包括手机聊天客户端接收所述外部聊天服务器发送的与该手机聊天客户端的聊天账号对应的备选聊天角色数据;并向所述外部聊天服务器返回聊天角色选择数据;接收外部聊天服务器发送的好友数据。
8.如权利要求7所述的实现手机与网络游戏中好友聊天的方法,其特征在于,该方法进一步包括所述游戏数据库进一步保存对应所述聊天角色的帮派存盘数据;所述外部聊天服务器根据帮派聊天消息中携带的帮派ID,并根据所述帮派存盘数据逐个查找与该帮派中的成员对应的已登录的手机聊天客户端,如果能找到,就将帮派聊天消息发送给该手机聊天客户端。
全文摘要
本发明实施例公开了一种实现手机与网络游戏中好友聊天的方法和系统,该方法包括通过预先建立的外部聊天服务器接收手机聊天客户端的登录请求,根据从预先建立的游戏数据库获取的验证信息对所述登录请求进行验证;将从成功登录外部聊天服务器的手机聊天客户端收到的聊天消息转发给集成于游戏系统内,用于对聊天数据进行处理和转发的内部聊天系统;所述内部聊天系统在收到聊天消息时,除向相应的游戏客户端发送外,还将所有的聊天消息都复制一份并向所述外部聊天服务器发送;所述外部聊天服务器接收所述内部聊天系统发送的聊天消息并向对应的手机聊天客户端发送。该方法和系统可以实现手机与网络游戏内好友进行聊天。
文档编号H04M1/725GK102523227SQ20111043631
公开日2012年6月27日 申请日期2011年12月22日 优先权日2011年12月22日
发明者黄文海 申请人:北京像素软件科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1