CN103581290B - 文档会议服务器与终端的通信处理方法 - Google Patents
文档会议服务器与终端的通信处理方法 Download PDFInfo
- 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
Links
- 230000006854 communication Effects 0.000 title claims abstract description 13
- 238000004891 communication Methods 0.000 title claims abstract description 10
- 238000003672 processing method Methods 0.000 title claims abstract description 6
- 230000001360 synchronised effect Effects 0.000 claims abstract description 10
- 230000007246 mechanism Effects 0.000 claims description 7
- 238000001514 detection method Methods 0.000 claims description 2
- 230000004899 motility Effects 0.000 abstract description 3
- 239000011800 void material Substances 0.000 description 9
- 238000000034 method Methods 0.000 description 8
- 230000001953 sensory effect Effects 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000002372 labelling Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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&®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 (1)
1.一种文档会议服务器与终端的通信处理方法,其特征在于包括以下步骤:
步骤S01:第一终端通过登录与所述文档会议服务器建立连接,所述第一终端以一预定时间间隔向所述文档会议服务器发送心跳包;
步骤S02:所述文档会议服务器通过WebAPP向第一终端推送文档信息,同时该第一终端向WebAPP发送Json格式的同步请求信息;WebAPP将数据包发送给SocketServer,该SocketServer则将Json格式的文档信息推送至同步的第二终端;
步骤S03:若此时第二终端与第一终端是异步状态,则第二终端拒绝接收SocketServer发送的文档,直接从WebAPP中获取自己想要的文档信息;
步骤S04:若所述文档会议服务器没有收到所述心跳包,则认为此时第一终端是假链接,该文档会议服务器关闭与第一终端之间的对话;
其中,所述心跳包是终端生成的一个独立包,通过http协议与文档会议服务器进行心跳通知,且按***设置的时间间隔确定的心跳通知;
其中,所述心跳包是由Socket库提供的心跳检测机制,设置接口为setsockopt API;
其中,所述步骤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 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)
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)
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)
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 | 腾讯科技(深圳)有限公司 | 一种文件传输方法及*** |
-
2013
- 2013-08-29 CN CN201310383609.7A patent/CN103581290B/zh active Active
Patent Citations (6)
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 |