CN108881200B - 基于tcp的多终端同时在线的方法和系统 - Google Patents
基于tcp的多终端同时在线的方法和系统 Download PDFInfo
- Publication number
- CN108881200B CN108881200B CN201810584368.5A CN201810584368A CN108881200B CN 108881200 B CN108881200 B CN 108881200B CN 201810584368 A CN201810584368 A CN 201810584368A CN 108881200 B CN108881200 B CN 108881200B
- Authority
- CN
- China
- Prior art keywords
- server
- client
- connection
- account
- socket port
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
- H04L67/145—Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于TCP的多终端同时在线的方法,通过将一个账号绑定多个客户端的socket端口号,并在服务器中记录。服务器接收到TCP连接后,与客户端通过心跳保持长连接。一个账号可以对应多个socket端口号,服务端不主动断开。这样进行消息分发给某个账号时,就可以同时给这个账号绑定的多个socket端口进行消息传递,实现了某个账号在不同设备同时收到消息,也不会进行互踢的操作。本发明还公开了基于TCP的多终端同时在线的系统。同时,本发明通过连接安全性验证、权限验证,充分保证了客户端与服务器之间的安全连接,保证了数据传输的安全。通过对数据完整度的校验,有效提高了数据传输的准确度。
Description
技术领域
本发明涉及通信技术领域,尤其涉及基于TCP(传输控制协议)的多终端同时在线的方法。
背景技术
TCP(Transmission Control Protocol传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,在因特网协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。
通常,一个账户登录,客户端通过TCP与服务端保持心跳,利用socket与服务器保持长连接来收发消息,进行消息的传递。服务器只记录最后一个登录设备的socket端口号,消息收发时也只发给留存的那个socket端口。因此,当另一个客户端登录相同的账号时,服务器会主动断开之前那个设备连上来的socket,即多个客户端会互踢下线,消息收发只能发送给一个登录的设备。
发明内容
本发明的目的在于提供基于TCP的多终端同时在线的方法和系统,实现一个账户通过多个客户端同时在线,不会互踢下线。
实现上述目的的技术方案是:
本发明之一的基于TCP的多终端同时在线的方法,包括:
将一个账号绑定多个客户端的socket端口号,在服务器中记录;
账户通过一个客户端登录时,服务器接收到TCP连接后,核对该客户端的socket端口号是否在记录表中,若不在,驳回连接;若在,通过心跳保持长连接;
服务器发送消息给一个账户时,将消息分发给目前保持长连接并且该账户绑定的各socket端口号的对应客户端。
在上述的基于TCP的多终端同时在线的方法中,服务器不主动断开一个客户端的socket。
在上述的基于TCP的多终端同时在线的方法中,账户通过客户端与服务器连接,具体包括:
客户端发送连接请求给服务器;
服务器接收到连接请求后,对客户端进行安全性校验;若校验不通过,反馈拒绝连接请求信号;若校验通过,进行下一步骤;
服务器查看客户端的socket端口号是否在记录表中,若不在,反馈拒绝连接请求信号;若在,进行下一步骤:
服务器发送同意连接请求反馈给客户端;
客户端创建socket连接,与服务器之间通过心跳保持长连接。
在上述的基于TCP的多终端同时在线的方法中,对客户端进行安全性校验指查看客户端的socket端口号是否在黑名单中。
在上述的基于TCP的多终端同时在线的方法中,服务器发送消息给一个账户,具体包括:
服务器确认待发送账户的所有socket端口号;
服务器发送端口连接确认信号给各个客户端;
客户端反馈确认连接信号给服务器;
服务器校验待发送数据的完整度,通过后选定待发送的数据;
服务器将数据发送给客户端;
客户端反馈数据接收信号。
本发明之二的基于TCP的多终端同时在线的系统,包括服务器,以及连接所述服务器的多个客户端;
所述服务器存储有一个账号绑定的多个客户端的socket端口号;
所述服务器通过验证账户绑定的socket端口号,与账户登录的客户端保持长连接;
服务器将消息分发给账户绑定的各socket端口号的对应客户端。
在上述的基于TCP的多终端同时在线的系统中,所述服务器包括:
用于输入账号以及与账户绑定的多个客户端的socket端口号的信息输入单元;
用于存储账号以及与账户绑定的多个客户端的socket端口号的存储单元;
与客户端连接的服务器通信单元;
通过所述服务器通信单元接收所述客户端发来的连接请求,并验证该客户端的socket端口号是否存储于所述存储单元中的权限校验单元;
通过所述服务器通信单元与所述客户端进行端口连接确认的端口确认单元;
对待发送数据进行校验完整度的数据校验单元;以及
将校验通过的数据通过所述服务器通信单元发送给所述客户端的数据发送单元。
在上述的基于TCP的多终端同时在线的系统中,所述客户端包括:
与所述服务器通信单元连接的客户端通信单元;
通过所述客户端通信单元向所述服务器发送连接请求和socket连接的连接单元;以及
通过所述客户端通信单元接收来自所述服务器的数据并进行显示的信息显示单元。
在上述的基于TCP的多终端同时在线的系统中,所述存储单元存储有黑名单,该黑名单中记录连接受限的客户端的socket端口号;
所述服务器还包括:通过所述服务器通信单元接收所述客户端发来的连接请求,并验证该客户端的socket端口号是否在黑名单中的连接安全性校验单元。
本发明的有益效果是:
本发明通过账号绑定多个socket端口号,实现多终端同时在线,一个账户的多个客户端同时收到消息,服务器不主动断开某个设备的socket,不会互踢下线。同时,通过连接安全性验证、权限验证,充分保证了客户端与服务器之间的安全连接。
附图说明
图1是本发明的基于TCP的多终端同时在线的方法的流程图;
图2是本发明中客户端与服务器连接时的流程图;
图3是本发明中服务器发送消息给客户端时的流程图;
图4是本发明的基于TCP的多终端同时在线的系统的结构图。
具体实施方式
下面将结合附图对本发明作进一步说明。
请参阅图1,本发明的基于TCP的多终端同时在线的方法,包括下列步骤:
步骤S1,将一个账号绑定多个客户端的socket端口号,在服务器中记录。一个账号连接上TCP后会产生一个socket ID,换个设备连接TCP后也会产生一个socket ID,服务器会记录多个socket ID,这样就实现了一个账号绑定多个端口号。
步骤S2,账户通过一个客户端登录时,服务器接收到TCP连接后,核对该客户端的socket端口号是否在记录表中,若不在,驳回连接;若在,通过心跳保持长连接。具体如图2所示,包括下列步骤:
1)客户端发送连接请求给服务器。
2)服务器接收到连接请求后,对客户端进行安全性校验;若校验不通过,反馈拒绝连接请求信号;若校验通过,进行下一步骤。安全性校验指查看客户端的socket端口号是否在黑名单中。
3)服务器查看客户端的socket端口号是否在记录表中,若不在,反馈拒绝连接请求信号;若在,进行下一步骤。
4)服务器发送同意连接请求反馈给客户端。
5)客户端创建socket连接,与服务器之间通过心跳保持长连接。
一个账号可以对应多个socket端口号,服务端不主动断开。
步骤S3,服务器发送消息给一个账户时,将消息分发给目前保持长连接并且该账户绑定的各socket端口号的对应客户端。具体如图3所示,包括下列步骤:
1)服务器确认待发送账户的所有socket端口号。
2)服务器发送端口连接确认信号给各个客户端。
3)客户端反馈确认连接信号给服务器。
4)服务器校验待发送数据的完整度,通过后选定待发送的数据。
5)服务器将数据发送给客户端。
6)客户端反馈数据接收信号。
从而实现了某个账号在不同设备同时收到消息,也不会进行互踢的操作。例如,一个账号在安卓手机,苹果手机,苹果pad三台设备上同时登录,服务器就把这个账号绑定了3台设备的socket端口号,保持和这3台设备的socket长连接,同时对这3台设备进行消息收发。
请参阅图4,本发明的基于TCP的多终端同时在线的系统,包括服务器,以及连接所述服务器的多个客户端。其中,服务器存储有一个账号绑定的多个客户端的socket端口号。服务器通过验证账户绑定的socket端口号,与账户登录的客户端保持长连接。服务器将消息分发给账户绑定的各socket端口号的对应客户端。
具体地,服务器包括:信息输入单元1、存储单元2、服务器通信单元3、连接安全性校验单元4、权限校验单元5、端口确认单元6、数据校验单元7和数据发送单元8。
信息输入单元1用于输入账号以及与账户绑定的多个客户端的socket端口号。存储单元2用于存储账号以及与账户绑定的多个客户端的socket端口号,同时存储有黑名单,该黑名单中记录连接受限的客户端的socket端口号。
服务器通信单元3实现与客户端的连接。
连接安全性校验单元4通过服务器通信单元3接收客户端发来的连接请求,并验证该客户端的socket端口号是否在黑名单中。若在,拒绝连接请求。
权限校验单元5通过服务器通信单元3接收客户端发来的连接请求,并验证该客户端的socket端口号是否存储于存储单元2中,若不在,拒绝连接请求。若在,同意连接请求。
端口确认单元6通过服务器通信单元3与客户端进行端口连接确认,保证连接在线。
数据校验单元7对待发送数据进行校验完整度。数据发送单元8将校验通过的数据通过服务器通信单元3发送给客户端。
与服务器相互匹配的,客户端包括:客户端通信单元9、连接单元10和信息显示单元11。
客户端通信单元9与服务器通信单元3连接,实现客户端与服务器之间的连接。
连接单元10通客户端通信单元9向服务器发送连接请求和socket连接。
信息显示单元11通过客户端通信单元3接收来自服务器的数据并进行显示。
综上,实现多终端同时在线,一个账户的多个客户端同时收到消息,不会互踢下线。
以上实施例仅供说明本发明之用,而非对本发明的限制,有关技术领域的技术人员,在不脱离本发明的精神和范围的情况下,还可以作出各种变换或变型,因此所有等同的技术方案也应该属于本发明的范畴,应由各权利要求所限定。
Claims (2)
1.一种基于TCP的多终端同时在线的方法,其特征在于,包括:
将一个账号绑定多个客户端的socket端口号,在服务器中记录;
账户通过一个客户端登录时,服务器接收到TCP连接后,核对该客户端的socket端口号是否在记录表中,若不在,驳回连接;若在,通过心跳保持长连接;
服务器发送消息给一个账户时,将消息分发给目前保持长连接并且该账户绑定的各socket端口号的对应客户端;
服务器不主动断开一个客户端的socket;
账户通过客户端与服务器连接,具体包括:
客户端发送连接请求给服务器;
服务器接收到连接请求后,对客户端进行安全性校验;若校验不通过,反馈拒绝连接请求信号;若校验通过,进行下一步骤;
服务器查看客户端的socket端口号是否在记录表中,若不在,反馈拒绝连接请求信号;若在,进行下一步骤;
服务器发送同意连接请求反馈给客户端;
客户端创建socket连接,与服务器之间通过心跳保持长连接;
对客户端进行安全性校验指查看客户端的socket端口号是否在黑名单中;
服务器发送消息给一个账户,具体包括:
服务器确认待发送账户的所有socket端口号;
服务器发送端口连接确认信号给各个客户端;
客户端反馈确认连接信号给服务器;
服务器校验待发送数据的完整度,通过后选定待发送的数据;
服务器将数据发送给客户端;
客户端反馈数据接收信号。
2.一种基于TCP的多终端同时在线的系统,其特征在于,包括服务器,以及连接所述服务器的多个客户端;
所述服务器存储有一个账号绑定的多个客户端的socket端口号的记录表;
服务器接收到TCP连接后,核对客户端的socket端口号是否在记录表中,若不在,驳回连接;若在,通过心跳保持长连接;
服务器将消息分发给账户绑定的各socket端口号的对应客户端;
所述服务器包括:
用于输入账号以及与账号绑定的多个客户端的socket端口号的信息输入单元;
用于存储账号以及与账号绑定的多个客户端的socket端口号的存储单元;
与客户端连接的服务器通信单元;
通过所述服务器通信单元接收所述客户端发来的连接请求,并验证该客户端的socket端口号是否存储于所述存储单元中的权限校验单元;
通过所述服务器通信单元与所述客户端进行端口连接确认的端口确认单元;
对待发送数据进行校验完整度的数据校验单元;以及
将校验通过的数据通过所述服务器通信单元发送给所述客户端的数据发送单元;
所述客户端包括:
与所述服务器通信单元连接的客户端通信单元;
通过所述客户端通信单元向所述服务器发送连接请求的连接单元;以及
通过所述客户端通信单元接收来自所述服务器的数据并进行显示的信息显示单元;
所述存储单元存储有黑名单,该黑名单中记录连接受限的客户端的socket端口号;
所述服务器还包括:通过所述服务器通信单元接收所述客户端发来的连接请求,并验证该客户端的socket端口号是否在黑名单中的连接安全性校验单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810584368.5A CN108881200B (zh) | 2018-06-08 | 2018-06-08 | 基于tcp的多终端同时在线的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810584368.5A CN108881200B (zh) | 2018-06-08 | 2018-06-08 | 基于tcp的多终端同时在线的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108881200A CN108881200A (zh) | 2018-11-23 |
CN108881200B true CN108881200B (zh) | 2020-08-11 |
Family
ID=64337516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810584368.5A Active CN108881200B (zh) | 2018-06-08 | 2018-06-08 | 基于tcp的多终端同时在线的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108881200B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111586148B (zh) * | 2020-04-30 | 2024-06-14 | 京东方科技集团股份有限公司 | 一种基于长连接的信息交互方法及系统 |
CN114553949A (zh) * | 2022-02-15 | 2022-05-27 | 北京京东乾石科技有限公司 | 一种页面消息的推送方法和装置 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1898936A (zh) * | 2004-02-19 | 2007-01-17 | 松下电器产业株式会社 | 被连接通信终端,连接通信终端,会话管理服务器以及触发服务器 |
CN102025648A (zh) * | 2009-09-16 | 2011-04-20 | 腾讯科技(深圳)有限公司 | 一种即时通讯的方法和服务器 |
CN102224714A (zh) * | 2008-11-20 | 2011-10-19 | 日本电气株式会社 | 移动无线电通信设备中的客户端服务器通信 |
CN102638416A (zh) * | 2012-03-27 | 2012-08-15 | 上海量明科技发展有限公司 | 多客户端登录时查看im消息的方法、客户端及系统 |
CN102739686A (zh) * | 2012-07-05 | 2012-10-17 | 无锡中科泛在信息技术研发中心有限公司 | 一种限制用户多地点同时登录的方法 |
CN103051647A (zh) * | 2011-10-13 | 2013-04-17 | 阿里巴巴集团控股有限公司 | 一种会话实现的方法、设备及系统 |
CN103259770A (zh) * | 2012-02-17 | 2013-08-21 | 腾讯科技(深圳)有限公司 | 登录方法及登录服务器 |
CN103618706A (zh) * | 2013-11-19 | 2014-03-05 | 深圳Tcl新技术有限公司 | 智能设备相互访问的控制系统及方法 |
CN105262588A (zh) * | 2015-11-03 | 2016-01-20 | 网易(杭州)网络有限公司 | 基于动态口令的登录方法、账号管理服务器及移动终端 |
CN106201794A (zh) * | 2016-06-27 | 2016-12-07 | 北京奇虎科技有限公司 | 一种服务器的检测方法和装置 |
CN107566385A (zh) * | 2017-09-14 | 2018-01-09 | 郑州云海信息技术有限公司 | 一种Web多点登陆限制及超时处理系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7526549B2 (en) * | 2003-07-24 | 2009-04-28 | International Business Machines Corporation | Cluster data port services for clustered computer system |
-
2018
- 2018-06-08 CN CN201810584368.5A patent/CN108881200B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1898936A (zh) * | 2004-02-19 | 2007-01-17 | 松下电器产业株式会社 | 被连接通信终端,连接通信终端,会话管理服务器以及触发服务器 |
CN102224714A (zh) * | 2008-11-20 | 2011-10-19 | 日本电气株式会社 | 移动无线电通信设备中的客户端服务器通信 |
CN102025648A (zh) * | 2009-09-16 | 2011-04-20 | 腾讯科技(深圳)有限公司 | 一种即时通讯的方法和服务器 |
CN103051647A (zh) * | 2011-10-13 | 2013-04-17 | 阿里巴巴集团控股有限公司 | 一种会话实现的方法、设备及系统 |
CN103259770A (zh) * | 2012-02-17 | 2013-08-21 | 腾讯科技(深圳)有限公司 | 登录方法及登录服务器 |
CN102638416A (zh) * | 2012-03-27 | 2012-08-15 | 上海量明科技发展有限公司 | 多客户端登录时查看im消息的方法、客户端及系统 |
CN102739686A (zh) * | 2012-07-05 | 2012-10-17 | 无锡中科泛在信息技术研发中心有限公司 | 一种限制用户多地点同时登录的方法 |
CN103618706A (zh) * | 2013-11-19 | 2014-03-05 | 深圳Tcl新技术有限公司 | 智能设备相互访问的控制系统及方法 |
CN105262588A (zh) * | 2015-11-03 | 2016-01-20 | 网易(杭州)网络有限公司 | 基于动态口令的登录方法、账号管理服务器及移动终端 |
CN106201794A (zh) * | 2016-06-27 | 2016-12-07 | 北京奇虎科技有限公司 | 一种服务器的检测方法和装置 |
CN107566385A (zh) * | 2017-09-14 | 2018-01-09 | 郑州云海信息技术有限公司 | 一种Web多点登陆限制及超时处理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108881200A (zh) | 2018-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9762586B2 (en) | System and method for controlling mutual access of smart devices | |
KR100924692B1 (ko) | 데이터 전송시스템, 정보처리장치 및 방법, 데이터중계장치 및 방법과, 기록매체 | |
CN109905312B (zh) | 消息推送方法、装置及系统 | |
US7738887B2 (en) | Voice instant messaging between mobile and computing devices | |
CN104363221A (zh) | 一种网络安全隔离文件传输控制方法 | |
CN104426837B (zh) | Ftp的应用层报文过滤方法及装置 | |
CN104349208A (zh) | 消息处理方法、装置、网关、机顶盒及网络电视系统 | |
CN113067882A (zh) | 一种消息处理方法、装置、电子设备及介质 | |
US10812421B2 (en) | Conveying instant messages via HTTP | |
CN108881200B (zh) | 基于tcp的多终端同时在线的方法和系统 | |
US20160197921A1 (en) | Secure Data Transmission System | |
US20130282838A1 (en) | Group sms messaging | |
CN103516587A (zh) | 即时通信客户端断线重连的方法和装置 | |
CN105722072A (zh) | 一种业务授权方法、装置、系统及路由器 | |
CN108156169A (zh) | 账号登录验证方法、系统及计算机可读存储介质 | |
CN110324330A (zh) | 一种实现互联网和公安内网数据传输的系统及方法 | |
CN107172052B (zh) | 一种用于会议系统的认证方法及装置 | |
CN105721274A (zh) | 一种多种即时通讯的融合方法及装置 | |
CN110430572A (zh) | 一种eUICC卡、eUICC卡与管理平台的通信方法及其通信系统 | |
CN112333088B (zh) | 一种兼容性即时通信传输方法 | |
CN105812138A (zh) | 登录的处理方法、装置、用户终端及登录系统 | |
CN113765745A (zh) | 一种业务性能测试方法、装置、终端设备和存储介质 | |
CN108055262A (zh) | 视频会议终端注册方法、终端及网守 | |
EP4260539A1 (en) | Electronic conferencing | |
WO2012058610A1 (en) | Electronic emergency messaging system |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |