CN103581290B - 文档会议服务器与终端的通信处理方法 - Google Patents

文档会议服务器与终端的通信处理方法 Download PDF

Info

Publication number
CN103581290B
CN103581290B CN201310383609.7A CN201310383609A CN103581290B CN 103581290 B CN103581290 B CN 103581290B CN 201310383609 A CN201310383609 A CN 201310383609A CN 103581290 B CN103581290 B CN 103581290B
Authority
CN
China
Prior art keywords
terminal
document
conference server
webapp
socketserver
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
Application number
CN201310383609.7A
Other languages
English (en)
Other versions
CN103581290A (zh
Inventor
何宗乐
林福国
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Corp of China SGCC
State Grid Fujian Electric Power Co Ltd
Information and Telecommunication Branch of State Grid Fujian Electric Power Co Ltd
Original Assignee
State Grid Corp of China SGCC
State Grid Fujian Electric Power Co Ltd
Information and Telecommunication Branch of State Grid Fujian Electric Power Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by State Grid Corp of China SGCC, State Grid Fujian Electric Power Co Ltd, Information and Telecommunication Branch of State Grid Fujian Electric Power Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN201310383609.7A priority Critical patent/CN103581290B/zh
Publication of CN103581290A publication Critical patent/CN103581290A/zh
Application granted granted Critical
Publication of CN103581290B publication Critical patent/CN103581290B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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 theconnect!";
}
}
# 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&&registry[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 (1)

1.一种文档会议服务器与终端的通信处理方法,其特征在于包括以下步骤:
步骤S01:第一终端通过登录与所述文档会议服务器建立连接,所述第一终端以一预定时间间隔向所述文档会议服务器发送心跳包;
步骤S02:所述文档会议服务器通过WebAPP向第一终端推送文档信息,同时该第一终端向WebAPP发送Json格式的同步请求信息;WebAPP将数据包发送给SocketServer,该SocketServer则将Json格式的文档信息推送至同步的第二终端;
步骤S03:若此时第二终端与第一终端是异步状态,则第二终端拒绝接收SocketServer发送的文档,直接从WebAPP中获取自己想要的文档信息;
步骤S04:若所述文档会议服务器没有收到所述心跳包,则认为此时第一终端是假链接,该文档会议服务器关闭与第一终端之间的对话;
其中,所述心跳包是终端生成的一个独立包,通过http协议与文档会议服务器进行心跳通知,且按***设置的时间间隔确定的心跳通知;
其中,所述心跳包是由Socket库提供的心跳检测机制,设置接口为setsockopt API;
其中,所述步骤S02中,所述SocketServer采用广播的机制将Json格式的文档信息推送至同步的第二终端。
CN201310383609.7A 2013-08-29 2013-08-29 文档会议服务器与终端的通信处理方法 Active CN103581290B (zh)

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 CN103581290A (zh) 2014-02-12
CN103581290B true 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)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103841193A (zh) * 2014-03-05 2014-06-04 天闻数媒科技(北京)有限公司 一种信息推送方法及***
CN108063820B (zh) * 2017-12-19 2021-07-02 广州敬信药草园信息科技有限公司 一种云会议的投屏同步方法
TWI809269B (zh) * 2020-04-29 2023-07-21 兆豐國際商業銀行股份有限公司 會議管理系統和會議管理方法

Citations (6)

* Cited by examiner, † Cited by third party
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 华为技术有限公司 一种音视频会议中实现文件共享的方法、装置及***
CN101551821A (zh) * 2009-05-19 2009-10-07 周佺喜 一种在网页中进行实时信息广播的方法
CN103001860A (zh) * 2012-12-20 2013-03-27 北京思特奇信息技术股份有限公司 一种融合通信Web即时消息实现***
CN103236967A (zh) * 2013-04-23 2013-08-07 浪潮集团山东通用软件有限公司 一种基于消息的即时协同办公***

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101360274A (zh) * 2008-08-11 2009-02-04 深圳华为通信技术有限公司 一种共享rss的方法、终端、服务器及其***
US8280954B2 (en) * 2010-03-25 2012-10-02 Scomm, Inc. Method and system for providing live real-time communication via text between mobile user devices
KR20130037434A (ko) * 2011-10-06 2013-04-16 삼성전자주식회사 클라우딩 네트워크에서 디바이스들 간에 멀티미디어 콘텐츠를 공유하기 위한 시스템 및 방법
CN102510384A (zh) * 2011-11-23 2012-06-20 深圳市无线开锋科技有限公司 一种个人数据的共享交互处理方法及服务器
KR101925057B1 (ko) * 2011-12-12 2019-02-28 삼성전자주식회사 컨텍스트 정보를 이용한 콘텐트 공유 시스템 및 방법
CN103067890B (zh) * 2012-12-19 2016-06-08 朱剑峰 一种基于视频作为电话拨出拨入提示的方法和装置
CN103078683B (zh) * 2012-12-28 2014-12-10 腾讯科技(深圳)有限公司 一种文件传输方法及***

Patent Citations (6)

* Cited by examiner, † Cited by third party
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 华为技术有限公司 一种音视频会议中实现文件共享的方法、装置及***
CN101551821A (zh) * 2009-05-19 2009-10-07 周佺喜 一种在网页中进行实时信息广播的方法
CN103001860A (zh) * 2012-12-20 2013-03-27 北京思特奇信息技术股份有限公司 一种融合通信Web即时消息实现***
CN103236967A (zh) * 2013-04-23 2013-08-07 浪潮集团山东通用软件有限公司 一种基于消息的即时协同办公***

Also Published As

Publication number Publication date
CN103581290A (zh) 2014-02-12

Similar Documents

Publication Publication Date Title
US9055155B2 (en) Collaborative conference experience improvement
CN109889762B (zh) 一种会议控制方法和装置
US20120188914A1 (en) Decoupled cascaded mixers architechture and related methods
WO2017107499A1 (zh) 信息远程同步方法、终端及***
WO2016184118A1 (zh) 实现多媒体会议的方法及装置
CN103139051A (zh) 一种基于Websocket协议的即时通讯方法
CN103581290B (zh) 文档会议服务器与终端的通信处理方法
JP2016503547A (ja) 連携アプリケーションセッションからのピアツーピア検出と接続のための方法及びシステム
WO2021031575A1 (zh) 媒体能力动态调整方法及装置
CN102625078A (zh) 一种远程会议控制方法、终端设备、mcu及视讯***
US20090049138A1 (en) Multi-modal transcript unification in a collaborative environment
CN103731341A (zh) 一种对即时通讯业务进行处理的方法及***
CN101262436B (zh) 组播复制方法、装置及线卡
CN106452921B (zh) 一种堆叠******检测方法及装置
US10686873B2 (en) Seamless transition of a video session between a mesh topology and a centralized bridge topology
CN105828351B (zh) 一种对终端或群组进行监听的方法及***
CN106789571A (zh) 一种基于ims架构的跨域即时通讯方法及其***
US8885010B2 (en) Multipoint conference method that does not use a server
US9088629B2 (en) Managing an electronic conference session
CN102238196A (zh) 一种基于info消息的sip会议附流控制方法
CN109714316B (zh) 一种视联网的混音处理方法和一种视联网***
CN104270255A (zh) 一种基于linx进程的节点间通信模块及方法
CN101436953A (zh) 一种网络设备在线宣告消息的管理方法及处理模块
CN104168176A (zh) 一种即时通讯方法、客户端、服务器及***
CN102427518B (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