包括空间事件地图的协作系统的制作方法_3

文档序号:9620886阅读:来源:国知局
D以在后续套接字请求中使用。
[0109] 通知新客户端其ID。在这种情况中,sender-id被设置为-1
[0110]client-id-(字符串)新加入的客户端的ID
[0111] 加入房间:
[0112] // 服务器〈--客户端[sender-id, 〃jr〃,:room-id, [data]] [sender-id, 〃jr〃,〃lobby〃][sender]
[0113] 通过客户端通知尝试的服务器以加入房间
[0114] room-id-可以包含大厅或者会话中的一个
[0115] data-是参量的通配符集,其应当用于初始化房间。
[0116] 房间数据参量:
[0117] 会话要求包含会话的id的"session-id"。阵列要求:
[0118] arrayld(字符串)显示器阵列的id
[0119] x(整数)该显示器的X轴偏移
[0120] y(整数)该显示器的y轴偏移
[0121] width(整数)该显示器的宽度
[0122] height(整数)该显示器的高度
[0123] 服务器将回复"room"消息作为响应。
[0124] 房间加入响应:
[0125] // 服务器一> 客户端[-1,"room", [room-id],[databag]] [_l,room",lobby", {pin:pin}]
[0126] room-id-包含以下之一:大厅或者会话
[0127] databag-是变量的特定房间包
[0128] 大厅提供:
[0129] pin-包括用于墙验证的引脚
[0130] 会话提供:
[0131] sessionName-包含会话的名称
[0132] 房间列表响应
[0133] // 服务器一> 客户端卜1,"rl",roomMembershipList]
[0134] 通知客户端房间成员。房间成员包括关于拜访与你相同的房间的客户端的信息。
[0135] roomMembershipList-(房间成员对象的阵列)
[0136] 会话请求:
[0137] //服务器〈一客户端[sender-id, 〃sr"]
[0138] 通知服务器客户端想要可加入的活动会话的列表。
[0139] 会话列表:
[0140] // 服务器一> 客户端[-1,"si",sessionList]
[0141] 通知客户端可加入的活动会话。
[0142] SessionList-(字符串数组)
[0143] 对象ID预订:
[0144] 使用此创建新唯一对象id,其对于创建创建对象的新历史事件是可接受的。
[0145] // 服务器〈_> 客户端[sender-id, 〃oid"]
[0146] 服务器做出响应:
[0147] [-1,'oid',〈new-0bject_id>]
[0148] 历史事件
[0149] 将所有持续事件发送为HistoryEvent(历史事件)。这包括:**移动窗口 **设置 文本**删除窗口 **创建窗口。
[0150] 将HistoryEvent写到会话的历史并且在检索历史时返回。
[0151] 将HistoryEvent发送到没有eventld的服务器。服务器分配eventld并且将事 件广播给所有客户端(包括发起客户端)。
[0152] 可以使用oid消息来保留新对象id。
[0153] 基本消息格式
[0154] //服务器〈一客户端[client-id, 〃he〃,target-id,event-type,event-properti es]
[0155] client-id-(字符串)发起客户端的ID
[0156] target-id-(字符串)与该事件相关的目标对象/小工具/应用的ID
[0157] event-type-(字符串)任意事件类型
[0158] properties-(对象)描述事件的相关键/值的JS0N对象
[0159] //服务器一> 客户端[client-id, "he",target-id,event-id,event-type,event -properties
[0160] client-id-(字符串)发起客户端的ID
[0161] target-id-(字符串)与该事件相关的目标窗口的ID
[0162] event-id-(字符串)数据库中的事件的ID
[0163] event-type-(字符串)任意事件类型
[0164] properties-(对象)描述事件的相关键/值的JS0N对象
[0165] 示例夺互:務动对象
[0166] 图示持续事件/短暂事件分类中的一些的良好示例将移动对象。尽管对象将通过 拖动移动或者例如调整大小,但是将一系列短暂事件(被称为"易失性事件VE")发送给服 务器,并且重新广播给会话中的所有客户端。一旦用户完成移动对象,则客户端应当发送历 史事件以指定对象的矩形和顺序。
[0167] ["51Id6d429b4aee0000000003","he", "51Id6f9c9b4aee0000000039","position ",{"rect"}…
[0168] 服务器将对新持续的HE记录做出响应。注意,包括记录的eventld。
[0169] // 服务器 _> 客户端"he" 的格式是:[〈clientld〉,〈messageType〉,〈targetld〉,〈 eventld>,
[0170] 注意:eventId还将被包括在经由HTTPAPI取得的历史中。
[0171] 对象/应用类铟的历史事件
[0172] 会适
[0173] Create-将注解或者图像添加在工作会话上
[0174] stroke-将笔或者橡皮笔画添加在背景上
[0175] 注經
[0176] text-设定或者更新注解的文本和/或本文格式化
[0177] delete-从工作会话移除注解
[0178] position-更新工作会话中的注解的大小或者位置
[0179] pin-钉住或者拔掉注解
[0180] stroke-将笔或者橡皮笔画添加在图像的顶部上
[0181] 图像
[0182] delete-从工作会话移除注解
[0183] position-更新工作会话中的注解的大小或者位置
[0184] pin-钉住或者拔掉注解
[0185] stroke-将笔或者橡皮笔画添加在图像的顶部上
[0186] 历史事件细节
[0187]
[0188] 设置和设计注解的文本。文本属性和风格属性二者是可选的。
[0189] //服务器〈一客户端[client-id, "he",target-id, "text", {"text": "abcdef",
[0190] 创律
[0191] 当服务器接收到卡创建(cc)消息或者图像上载时,向客户端发送。
[0192] 为了创建消息,target-id是session-id。
[0193] // 服务器一> 客户端[client-id, "he",session-id,event-id, "create",
[0194] {"id":"5123e7ebcdl8d3ef5e00000r
[0195] 属性
[0196] id-(整数)窗口的唯一标识符
[0197] baseName-(字符串)背景图像文件名称
[0198] ext-(字符串)背景图像文件扩展
[0199] rect-(对象)窗口的位置
[0200] actualffidth-(整数)背景图像宽度
[0201] actualHeight-(整数)背景图像高度
[0202] order-(整数)z顺序
[0203] type-(字符串)针对可以具有文本的对象的"注解",针对其他对象的"图像"
[0204] regionld-(字符串)画布区域,如果在画布区域中创建对象
[0205] hidden-(布尔)无论当前是否隐藏窗口
[0206] 1[脸
[0207] 被用于使窗口从会话消失删除是能取消的动作
[0208] // 服务器〈一客户端[client-id, "he",target-id, "delete", {"hidden":tr ue}]//服务器一>
[0209] 位置
[0210] 被用于在移动、提交或者调整大小之后保存窗口的位置
[0211] // 服务器〈一客户端[client-id,"he",target-id,"position",{"re ct":[-1298,-390,-1018
[0212] 属性
[0213] rect-(对象)目标窗口的位置
[0214] order-(整数)目标窗口的z顺序
[0215] 笔画
[0216] 用于保存笔画
[0217] / 服务器〈一客户端[client-id,"he",target-id,"stroke", {"size": 10,"bru sh":
[0218] 属性
[0219] Iocs(阵列)格式中的笔画位置:[10, 1,10, 2, 12, 3],其中在阵列中对坐标进行配 对[X,y,X,y,X,y]
[0220] liM
[0221] 向客户端发送以将注解或者图像钉住在原位或者移除现有的引脚。不能移动或者 调整大小被钉住的窗口,直到其拔掉。
[0222] //服务器一> 客户端[client-id, "he",session-id,event-id, "pin", {"pin":tr ue}]
[0223] 属性
[0224] pin-(布尔)真是钉住,假是拔掉
[0225] 易失性事件
[0226] 易失性事件是未记录在取消/回放事件流中的短暂事件,因此其对于像拖动屏幕 周围的卡的进行中的流事件是良好的,并且一旦用户抬起其手指,HistoryEvent用于记录 其最终地点。
[0227] //服务器〈一> 客户端[client-id, "ve",target-id,event-type,event-propert ies]
[0228] client-id-(字符串)发起客户端的ID
[0229] target-id-(字符串)与该事件相关的目标窗口的ID
[0230] event-type-(字符串)任意事件类型
[0231] properties-(对象)描述事件的相关键/值的JS0N对象
[0232] 对象/应用类铟的易失件事件
[0233] 会适
[0234] sb-开始笔画。用于渲染一个客户端上的笔画,同时将其绘制在另一客户端上。
[0235] sc-通过提供包括的另一点,继续先前开始的笔画。用于渲染笔画,同时将其绘制 在另一客户端上。
[0236] se-结束先前开始的笔画
[0237] 沣解
[0238] fling-动画绘制从工作会话中的一个地点滑动到另一地点的注解。这是用户对 弹开或者投掷动作的视觉响应。
[0239] position-在其由另一用户移动时,实况更新注解的位置。
[0240] sb-开始笔画被用于渲染一个客户端上的笔画,同时将其绘制在另一客户端上。
[0241] sc-通过提供包括的另一点,继续先前开始的笔画。用于渲染笔画,同时将其绘制 在另一客户端上。
[0242] se-结束先前开始的笔画。
[0243] 图像
[0244] fling-动画绘制从工作会话中的一个地点滑动到另一地点的图像。这是用户对 弹开或者投掷动作的视觉响应。
[0245] p〇sition-在其由另一用户移动时,实况更新图像的位置。
[0246] sb-开始笔画被用于渲染一个客户端上的笔画,同时将其绘制在另一客户端上。
[0247] sc-通过提供包括的另一点,继续先前开始的笔画。用于渲染笔画,同时将其绘制 在另一客户端上。
[0248] se-结束先前开始的笔画。
[0249] 易失件事件的类铟
[0250] 投握
[0251] 用于将投掷动作广播给所有所连接的客户端。
[0252] //服务器〈一> 客户端[client-id, "ve",target-id, "fling", {"velocityX": 10, 〃velocityY〃
[0253] 属性
[0254] velocityX(整数)投掷矢量的x分量
[0255] velocityY(整数)投掷矢量的y分量
[0256] position-ve
[0257] 用于广播窗口移动的中间步骤
[0258] // 服务器〈一> 客户端[client-id, "ve",target-id, "position",{"re ct":[-1298,-390,-1018
[0259] 属性
[0260] rect(对象)目标窗口的位置
[0261] order(整数)目标窗口的z顺序
[0262] sb:
[0263] 用于广播笔画的开始
[0264] //服务器〈一> 客户端[client-id, "ve",target-id, "sb", {"brush": 1,"size": 2 ,color
[0265] 属性
[0266] x,y(整数)该笔画的开始点
[0267] strokeId-(字符串)新笔画的ID
[0268] sc:
[0269] //服务器〈一> 客户端[client-id, "ve",target-id, "sc", {"X": 100, "y": 300,"s trokeld"
[0270] 用于广播笔画的继续
[0271] 属性
[0272] X,y(整数)笔画的新终点
[0273] strokeId-(字符串)新笔画的ID
[0274] sc:
[0275] // 服务器〈一> 客户端[client-id, "ve",target-id, "se", "strokelcT:
[0276] 〃395523d316e942b496a2c8a6fe5f2cac〃
[0277] 结束由stroke-id所指定的笔画
[0278] stroke-id(字符串)所继续的笔画的ID
[0279] 刪除笔画:
[0280] // 服务器一> 客户端[sender-id, "sd",stroke-id,target-id]
[0281] 删除笔画。
[0282] stroke-id(字符串)笔画的ID
[0283] target-id(字符串)笔画目标的ID
[0284]取消:
[0285] 取消最后的能取消的动作(移动、设置文本、笔画等)
[0286] //服务器〈一客户端
[0287] [sender-id, "un"]// 服务器一> 客户端
[0288][client-id, 'undo',target-
[0289] 取消示例:移动窗口并且然后取消该移动
[0290] 以下示例示出移动,并且如何取消该移动。
[0291] //客户端发送移动并且然后发送取消消息。
[0292] 服务器从会话历史移除移动的历史事件并且通知客户端该记录将不再是会话的 空间事件地图的一部分,这将其从历史时间线取出。经由HTTPAPI的历史的另外的请求将 不包括取消事件(直到重做之后)。
[0293] 显示阵列尺寸:
[0294] // 服务器一> 客户端[-1,"dd",arrayld,width,height]
[0295] 通知客户端对总体显示阵列宽度和高度的改变。这可以不由具有管理空间事件地 图的部分的局部显示的资源的客户端侧网络节点利用。
[0296] arrayID-(字符串)显示阵列的ID
[0297] width,height-(整数)像素中的显示阵列的宽度和高度
[0298] 平務阵列:
[0299] // 客户端--> 服务器[sender-id, 〃pa〃,newArrayOffsetX,newArrayOffsetY]
[0300] 通知服务器对新位置的平移。
[0301] newArrayOffsetX,newArrayOffsetY(整数)在平移之后显示阵列的新位置。
[0302] 会话改夺:
[0303] // 服务器一> 客户端[sender-id, 〃cs",sessionld]
[0304] 通知显示阵列中的兄弟节点已经改变会话。
[0305] sessionld(字符串)是切换的会话的id
[0306] 缩放改夺:
[0307] // 客户端--服务器[sender-id, "zc",zoomLevel,zoomCenterX,zoomCenterY]
[0308] 通知服务器请求zoom。
[0309] zoomLevel(整数)从1到11的转变的缩放级别
[0310] zoomCenterX(整数)缩放的原点的X坐标
[0311] zoomCenterY(整数)缩放的原点的y坐标
[0312] 地图樽式改夺:
[0313] //客户端一> 服务器
[0314] [sender-id, "mm",zoomLevel,zoo
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1