CN103581290A - 文档会议服务器与终端的通信处理方法 - Google Patents
文档会议服务器与终端的通信处理方法 Download PDFInfo
- Publication number
- CN103581290A CN103581290A CN201310383609.7A CN201310383609A CN103581290A CN 103581290 A CN103581290 A CN 103581290A CN 201310383609 A CN201310383609 A CN 201310383609A CN 103581290 A CN103581290 A CN 103581290A
- Authority
- CN
- China
- Prior art keywords
- terminal
- document
- conference server
- webapp
- processing method
- 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
Images
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明涉及一种文档会议服务器与终端的通信处理方法,其特征在于包括以下步骤:步骤S01:第一终端通过登录与所述文档会议服务器建立连接;步骤S02:所述文档会议服务器通过WebAPP向第一终端推送文档信息,同时该第一终端向WebAPP发送Json格式的同步请求信息;WebAPP将Json格式的文档信息推送至同步的第二终端;步骤S03:若此时第二终端与第一终端是异步状态,则第二终端拒绝接收SocketServer发送的文档,直接从WebAPP中获取自己想要的文档信息;步骤S04:若所述文档会议服务器没有收到所述心跳包,则认为此时第一终端是假链接,该文档会议服务器关闭与第一终端之间的对话。本发明用以实现会议中同步会议内容或者异步查看其他会议资料,具备灵活性高、可靠等特点。
Description
技术领域
本发明涉及一种通信技术领域,特别是一种文档会议服务器与终端间的通信处理方法。
背景技术
会议是公司各个管理领域和各项业务环节的重要分析决策活动,在加快建设现代公司管理中的支撑和引领作用不断加强,要求公司业务运营分析能力由壁垒向协同、分散向集中、自发向可控、孤岛向共享的转变。从公司角度来说需建设一套可统揽全局、简易智能的互动会议系统,为公司领导及时全面掌握生产经营情况、进行科学分析提供依据。互动会议系统有一下几项功能要求:系统稳定性要求比较高;客户端操控简单便捷;客户端可即时分享会议中的演讲文档提高会议效率和质量。所以互动会议系统设计方向之一满足上述三点功能要求的同时,对文档服务器与客户端之间的通信过程的可靠性和灵活性提出了更高的要求。然而现有的文档服务器与客户端之间的通信可靠性和灵活性满足不了客户的需求,导致开会时,经常出现链接错误、文件遗失或者搜索不到的问题。
发明内容
有鉴于此,本发明的目的是一种可靠、灵活的文档会议服务器与终端间的通信处理方法。
本发明采用以下方案实现:一种文档会议服务器与终端的通信处理方法,其特征在于包括以下步骤:
步骤S01:第一终端通过登录与所述文档会议服务器建立连接,所述第一终端以一预定时间间隔向所述文档会议服务器发送心跳包;
步骤S02:所述文档会议服务器通过WebAPP向第一终端推送文档信息,同时该第一终端向WebAPP发送Json格式的同步请求信息;WebAPP将数据包发送给SocketServer,该SocketServer则将Json格式的文档信息推送至同步的第二终端;
步骤S03:若此时第二终端与第一终端是异步状态,则第二终端拒绝接收SocketServer发送的文档,直接从WebAPP中获取自己想要的文档信息;
步骤S04:若所述文档会议服务器没有收到所述心跳包,则认为此时第一终端是假链接,该文档会议服务器关闭与第一终端之间的对话。
在本发明一实施例中,所述心跳包是终端生成的一个独立包,通过http协议与文档会议服务器进行心跳通知,且按系统设置的时间间隔确定的心跳通知。
在本发明一实施例中,所述心跳包是由Socket库提供的心跳检测机制,设置接口为setsockopt API。
在本发明一实施例中,所述步骤S02中,所述SocketServer采用广播的机制将Json格式的文档信息推送至同步的第二终端。
本发明还能够达到下面的三个有益效果:
1)流保活功能,如果客户端的网络环境异常,发生断网情况,文档服务器能及时发现,并停止对其进行服务,避免服务器资源浪费;
2)任何要访问实现了本发明所述的文档服务器系统的客户端,必须要实现本发明所述的心跳机制,使得客户端与服务器之间的通信可靠性得到很大的提高;
3)本发明中的同步和异步机制实现了文档的灵活展示查看,提高了会议质量和效率。
附图说明
图1是本发明方法流程示意图。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
本发明实施例,一种文档会议服务器与终端的通信处理方法,其特征在于包括以下步骤:
步骤S01:第一终端通过登录与所述文档会议服务器建立连接,所述第一终端以一预定时间间隔向所述文档会议服务器发送心跳包;
步骤S02:所述文档会议服务器通过WebAPP向第一终端推送文档信息,同时该第一终端向WebAPP发送Json格式的同步请求信息;WebAPP将数据包发送给SocketServer,该SocketServer则将Json格式的文档信息推送至同步的第二终端;
步骤S03:若此时第二终端与第一终端是异步状态,则第二终端拒绝接收SocketServer发送的文档,直接从WebAPP中获取自己想要的文档信息;
步骤S04:若所述文档会议服务器没有收到所述心跳包,则认为此时第一终端是假链接,该文档会议服务器关闭与第一终端之间的对话。
具体的,请参见图1,本实施例提供一种文档会议服务器与客户端间的通信处理方法,包括以下步骤:
a、 客户端通过登录与服务器建立连接,客户端和服务器设定心跳包发送的时间间隔,并将此时间间隔嵌入心跳包,按照该时间间隔终端向服务器端发送心跳包,若服务器端按照此时间间隔收到心跳包,则链路畅通;
b、 服务器通过WebAPP向客户端1推送文档信息,同时客户端1向WebAPP发送Json格式的同步请求信息;WebAPP将数据包发送给SocketServer,SocketServer采用广播的机制将Json格式的文档信息推送至同步的客户端2;
c、 若此时客户端2与客户端1异步状态,则客户端2拒绝接收SocketServer发送的文档,直接从WebAPP中获取自己想要的文档信息;
d、 若客户端此时间间隔没有收到心跳包,则认为此时客户端是假链接,服务器端关闭与之假链接的客户端之间的对话。
在本发明一实施例中,所述心跳包的时间间隔是人为设定的时间值。
下面是客户端心跳包核心代码:
# region ++++++++++++++++++++ 客户端的感觉系统
//启动记时器
public void BeginTheTimer()
{
//th_UserLogin();
object myobject = (object)7;
//暂时设定为1秒钟启动一次!
System.Threading.Timer t = new System.Threading.Timer
(new System.Threading.TimerCallback(testTheNet), myobject, 1000, 1000);
}
//启动监视"已登录用户通信情况"的线程
public void testTheNet(object myobject)
{
//UserPassport up=new UserPassport();
ThreadsendMyPulseThPro=newThread(new ThreadStart(delegateSendMyPulse));
sendMyPulseThPro.Start();
}
/// <summary>
/// 每隔1秒都要来做这些事情
/// </summary>
public void delegateSendMyPulse()
{
loginServer lser = new loginServer();
Login l = new Login();
l.Id = lser.MyLogin.Id;
l.ClientTypeVersion = version;
l.RequestType = 3;
//3是确认联接正常的一个信号(让服务知道它与服务器的联接是正常的)
loginServer lserver = new loginServer();
//启动一个新线程去发送数据
Thread thSendDat2 = new Thread
(new ParameterizedThreadStart(lserver.delgSendDataMethod));
thSendDat2.Start(l);
thSendDat2.IsBackground = true;
//标记已经发送出去一次数据了
longinserver.MyLostTime += 1;
//如果外发了3次请求暗号后仍不见服务器的回应,则认为客户端已经与服务器断开联系了
if(longinserver.MyLostTime>=3)
{
//停止Timer
//告诉用户:“已经与服务器失去联系了…………”
longinserver.Controls["txtShowMsg"].Text = "You have lost the connect!";
}
}
# endregion +++++++++++++++++++++ 客户端的感觉系统
下面是服务器端核心代码如下:
# region +++++++++++++++++++++++ 服务器的感觉系统
//启动记时器
public void LoadTheTimer()
{
object o=(object)loginedCount++;
UserPassport up = new UserPassport();
//暂时设定为1秒钟启动一次!
System.Threading.Timer t = new System.Threading.Timer
(new System.Threading.TimerCallback(watchTheLoginUser), o, 1000, 1000);
}
//启动监视"已登录用户通信情况"的线程
public void watchTheLoginUser(object o)
{
//UserPassport up=new UserPassport();
Thread checktheloginuser = new Thread(new ThreadStart(iAmAWatcher));
checktheloginuser.Start();
}
//每隔1秒钟后就查看一下通信状态
//registry里面有没有定时来向服务器报到,如果出现哪个客户端三次检查都没有签到则除之名
public void iAmAWatcher()
{
this.txtLogin.Text += "+";
int index = 0;
for (index = 0; index < loginedCount; index++)
{
if (myRegistry[index].alive==false&®istry[index].studentID!="")
{
lock(this)
{
//坏(未到)记录增加一次
myRegistry[index].no_check_in_count += 1;
if (myRegistry[index].no_check_in_count >= 3)
{
//this.lblShowMsg.Text = "the student"
//this.lblShowMsg.Text += registry[index].studentID.ToString()
//this.lblShowMsg.Text += "is diaoxianle!";
this.txtLogin.Text += "88";
//标记该客户端已经与服务器失去连接了,因为已经连续3次的未到记录存在
registry[index].studentID = "";
registry[index].StudentName = "";
registry[index].StudentIP = "";
registry[index].status = 2; //掉线
}
}
}
}
} //定时检查在线客户端的目前状态
# endregion +++++++++++++++++++ 服务器的感觉系统
2、所述同步和异步机制是客户端是否接收SocketServer广播的文档信息。
/****************************************
* 方法名称: - synchronous
* 功能描述:同步方法
* 输入参数:无
* 返回值:无
* 其它说明:
****************************************/
- (void)synchronous
{
isAsyn = 0;
[meet_view controlSwipeEvent:isAsyn];
[HUIView beginAnimations:nil context:nil];
[HUIView setAnimationDuration:0.5];
toolBar_view.alpha = 0;
small_view.alpha = 0;
[HUIView commitAnimations];
[meet_view jumpPdfPage:[page_vo.pageNo integerValue]];
}
/****************************************
* 方法名称: - notSync
* 功能描述:不同步
* 输入参数:无
* 返回值:无
* 其它说明:
****************************************/
- (void)notSync
{
isAsyn = 1;
[meet_view controlSwipeEvent:isAsyn];
[HUIView beginAnimations:nil context:nil];
[HUIView setAnimationDuration:0.5];
toolBar_view.alpha = 1;
small_view.alpha = 1;
[HUIView commitAnimations];
ICSLog("small_view = %", small_view);
}
/**************************************** * 方法名称:- changeListenCurrentPage * 功能描述:监听socket发送的信息 改变听讲者当前界面显示。 * 输入参数:监听到的当前会议信息 * 返回值: * 其它说明: ****************************************/ - (void)changeListenCurrentPage:(NSNotification*) notification { ICSLog("1111self.meetDataVO.fId =====%",self.meetDataVO.fId); //获取听讲者获取的主持人发出的jsonstring NSString *jsonFromHost = (NSString *)[notification object]; ICSLog("听讲人监听到翻页信息的str===%",jsonFromHost); IndexBO *indexBO = [[IndexBO alloc]init]; CurrentPageVO *currPage_vo = [indexBO getHostMeetData:jsonFromHost]; self.page_vo = currPage_vo; [currPage_vo release]; currPage_vo = nil; [indexBO release]; //判断是否在同一会议中 if([page_vo.cId isEqualToString:[GlobalInfo getInstanceGlobal].cid]) { //判断是否切换了ppt ICSLog("meetDataVO.fId====% page_vo.fileID=====%",meetDataVO.fId,page_vo.fileID); ICSLog("self.meetDataVO.fId =====%",self.meetDataVO.fId); if([self.meetDataVO.fId isEqualToString:page_vo.fileID]) { if(isAsyn == 0) { [meet_view jumpPdfPage:[page_vo.pageNo integerValue]]; } } //切换ppt后需要开启后台去解析新的数据 else { ICSLog("切换PPT"); DicVO *dicVO = [[DicVO alloc]init]; dicVO.methodName = MEET_M_CHANGEPDF; NSArray *meetData_arr = [GlobalInfo getInstanceGlobal].conferenceDataArr; ICSLog("保存的会议信息=====% =====%",[GlobalInfo getInstanceGlobal].conferenceDataArr,self.meetDataVO); for(int i=0;i<[meetData_arr count];i++) { ConferenceDataVO *vo = [meetData_arr objectAtIndex:i]; if([vo.fId isEqualToString:page_vo.fileID]) { ICSLog("找到的当前会议资料====%",vo.fId); self.meetDataVO = vo; dicVO.obj = meetDataVO.fileName; isAsyn = 0; break; } } if(dicVO.obj != nil) { [meet_view removeFromSuperview]; meet_view = nil; meet_view = [[MeetView alloc] initWithFrame:CGRectMake(0, 0, 1024, 748)]; meet_view.meet_service = self; [self.view addSubview:meet_view]; [meet_view release]; [self performSelectorInBackground:selector(backOperation:) withObject:dicVO]; [dicVO release]; } else { [meet_view showAlert:"请返回刷新资料!"]; } } } 。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (3)
1.一种文档会议服务器与终端的通信处理方法,其特征在于包括以下步骤:
步骤S01:第一终端通过登录与所述文档会议服务器建立连接,所述第一终端以一预定时间间隔向所述文档会议服务器发送心跳包;
步骤S02:所述文档会议服务器通过WebAPP向第一终端推送文档信息,同时该第一终端向WebAPP发送Json格式的同步请求信息;WebAPP将数据包发送给SocketServer,该SocketServer则将Json格式的文档信息推送至同步的第二终端;
步骤S03:若此时第二终端与第一终端是异步状态,则第二终端拒绝接收SocketServer发送的文档,直接从WebAPP中获取自己想要的文档信息;
步骤S04:若所述文档会议服务器没有收到所述心跳包,则认为此时第一终端是假链接,该文档会议服务器关闭与第一终端之间的对话。
2.根据权利要求1 所述的文档会议服务器与终端间的通信处理方法,其特征在于,所述心跳包是终端生成的一个独立包,通过http协议与文档会议服务器进行心跳通知,且按系统设置的时间间隔确定的心跳通知。
3.根据权利要求2所述的文档会议服务器与终端间的通信处理方法,其特征在于:所述心跳包是由Socket库提供的心跳检测机制,设置接口为setsockopt API。
4. 根据权利要求1 所述的文档会议服务器与终端的通信处理方法,其特征在于:所述步骤S02中,所述SocketServer采用广播的机制将Json格式的文档信息推送至同步的第二终端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310383609.7A CN103581290B (zh) | 2013-08-29 | 2013-08-29 | 文档会议服务器与终端的通信处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310383609.7A CN103581290B (zh) | 2013-08-29 | 2013-08-29 | 文档会议服务器与终端的通信处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103581290A true CN103581290A (zh) | 2014-02-12 |
CN103581290B CN103581290B (zh) | 2016-08-10 |
Family
ID=50052199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310383609.7A Active CN103581290B (zh) | 2013-08-29 | 2013-08-29 | 文档会议服务器与终端的通信处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103581290B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103841193A (zh) * | 2014-03-05 | 2014-06-04 | 天闻数媒科技(北京)有限公司 | 一种信息推送方法及系统 |
CN108063820A (zh) * | 2017-12-19 | 2018-05-22 | 广州敬信药草园信息科技有限公司 | 一种云会议的投屏同步方法 |
TWI809269B (zh) * | 2020-04-29 | 2023-07-21 | 兆豐國際商業銀行股份有限公司 | 會議管理系統和會議管理方法 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101102211A (zh) * | 2007-07-09 | 2008-01-09 | 中兴通讯股份有限公司 | 一种数据会议中共享文档的方法及其系统 |
CN101159850A (zh) * | 2007-11-21 | 2008-04-09 | 华为软件技术有限公司 | 实现多终端协同控制播放视频数据的方法和播放控制代理 |
CN101272266A (zh) * | 2008-04-24 | 2008-09-24 | 华为技术有限公司 | 一种音视频会议中实现文件共享的方法、装置及系统 |
CN101360274A (zh) * | 2008-08-11 | 2009-02-04 | 深圳华为通信技术有限公司 | 一种共享rss的方法、终端、服务器及其系统 |
CN101551821A (zh) * | 2009-05-19 | 2009-10-07 | 周佺喜 | 一种在网页中进行实时信息广播的方法 |
WO2011119838A1 (en) * | 2010-03-25 | 2011-09-29 | Scomm, Inc. | A method and system for providing live real-time communication via text between mobile user devices |
CN102510384A (zh) * | 2011-11-23 | 2012-06-20 | 深圳市无线开锋科技有限公司 | 一种个人数据的共享交互处理方法及服务器 |
CN103001860A (zh) * | 2012-12-20 | 2013-03-27 | 北京思特奇信息技术股份有限公司 | 一种融合通信Web即时消息实现系统 |
US20130091558A1 (en) * | 2011-10-06 | 2013-04-11 | Samsung Electronics Co., Ltd. | Method and system for sharing multimedia contents between devices in cloud network |
CN103067890A (zh) * | 2012-12-19 | 2013-04-24 | 朱剑峰 | 一种基于视频作为电话拨出拨入提示的方法和装置 |
CN103078683A (zh) * | 2012-12-28 | 2013-05-01 | 腾讯科技(深圳)有限公司 | 一种文件传输方法及系统 |
US20130151593A1 (en) * | 2011-12-12 | 2013-06-13 | Samsung Electronics Co., Ltd | Method and system for sharing content by using context information |
CN103236967A (zh) * | 2013-04-23 | 2013-08-07 | 浪潮集团山东通用软件有限公司 | 一种基于消息的即时协同办公系统 |
-
2013
- 2013-08-29 CN CN201310383609.7A patent/CN103581290B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101102211A (zh) * | 2007-07-09 | 2008-01-09 | 中兴通讯股份有限公司 | 一种数据会议中共享文档的方法及其系统 |
CN101159850A (zh) * | 2007-11-21 | 2008-04-09 | 华为软件技术有限公司 | 实现多终端协同控制播放视频数据的方法和播放控制代理 |
CN101272266A (zh) * | 2008-04-24 | 2008-09-24 | 华为技术有限公司 | 一种音视频会议中实现文件共享的方法、装置及系统 |
CN101360274A (zh) * | 2008-08-11 | 2009-02-04 | 深圳华为通信技术有限公司 | 一种共享rss的方法、终端、服务器及其系统 |
CN101551821A (zh) * | 2009-05-19 | 2009-10-07 | 周佺喜 | 一种在网页中进行实时信息广播的方法 |
WO2011119838A1 (en) * | 2010-03-25 | 2011-09-29 | Scomm, Inc. | A method and system for providing live real-time communication via text between mobile user devices |
US20130091558A1 (en) * | 2011-10-06 | 2013-04-11 | Samsung Electronics Co., Ltd. | Method and system for sharing multimedia contents between devices in cloud network |
CN102510384A (zh) * | 2011-11-23 | 2012-06-20 | 深圳市无线开锋科技有限公司 | 一种个人数据的共享交互处理方法及服务器 |
US20130151593A1 (en) * | 2011-12-12 | 2013-06-13 | Samsung Electronics Co., Ltd | Method and system for sharing content by using context information |
CN103067890A (zh) * | 2012-12-19 | 2013-04-24 | 朱剑峰 | 一种基于视频作为电话拨出拨入提示的方法和装置 |
CN103001860A (zh) * | 2012-12-20 | 2013-03-27 | 北京思特奇信息技术股份有限公司 | 一种融合通信Web即时消息实现系统 |
CN103078683A (zh) * | 2012-12-28 | 2013-05-01 | 腾讯科技(深圳)有限公司 | 一种文件传输方法及系统 |
CN103236967A (zh) * | 2013-04-23 | 2013-08-07 | 浪潮集团山东通用软件有限公司 | 一种基于消息的即时协同办公系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103841193A (zh) * | 2014-03-05 | 2014-06-04 | 天闻数媒科技(北京)有限公司 | 一种信息推送方法及系统 |
CN108063820A (zh) * | 2017-12-19 | 2018-05-22 | 广州敬信药草园信息科技有限公司 | 一种云会议的投屏同步方法 |
CN108063820B (zh) * | 2017-12-19 | 2021-07-02 | 广州敬信药草园信息科技有限公司 | 一种云会议的投屏同步方法 |
TWI809269B (zh) * | 2020-04-29 | 2023-07-21 | 兆豐國際商業銀行股份有限公司 | 會議管理系統和會議管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103581290B (zh) | 2016-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2517402B1 (en) | Decoupled cascaded mixers architecture and related methods | |
US8490003B2 (en) | Dynamic proximity based text exchange within a group session | |
CN109889762B (zh) | 一种会议控制方法和装置 | |
US8854419B2 (en) | Method and system for controlling multipoint video conference, central control subsystem and video terminal | |
CN111048086A (zh) | 多设备间的语音唤醒方法、和自协商的语音唤醒方法、装置及系统 | |
CN103139051A (zh) | 一种基于Websocket协议的即时通讯方法 | |
US11900006B2 (en) | Synchronizing local room and remote sharing | |
CN107360239A (zh) | 一种客户端连接状态检测方法及系统 | |
US20090177743A1 (en) | Device, Method and Computer Program Product for Cluster Based Conferencing | |
CN106452921B (zh) | 一种堆叠系统分裂检测方法及装置 | |
CN101945141A (zh) | 基于tcp的穿越nat设备的方法及系统 | |
WO2017152807A1 (zh) | 通信通道处理方法和系统 | |
CN103581290A (zh) | 文档会议服务器与终端的通信处理方法 | |
CN107248978A (zh) | 一种消息监听处理方法及系统 | |
CN103702065A (zh) | 一种视频会议系统的备份系统及方法 | |
CN105528254A (zh) | 一种业务处理方法及装置 | |
CN101667937A (zh) | 实现数据业务设备容灾的方法、数据业务设备和系统 | |
EP2544424A1 (en) | Multipoint conference method that does not use a server | |
EP3185489B1 (en) | Communication device, communication system and communication method | |
WO2022126837A1 (zh) | 视频监控服务智能调度系统 | |
CN107193663A (zh) | 一种业务消息处理方法及装置 | |
CN108989157B (zh) | 用于智能设备控制的方法、装置 | |
EP2944073A2 (en) | Method and system for the handling of redundant long poll | |
US20180097855A1 (en) | System and method for maintaining a collaborative environment | |
CN111787078A (zh) | 一种基于电梯物联网的信令控制系统及通讯方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |