b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

服务器推送技术_开源消息推送服务器_数据推送的几种方式(3)

电脑杂谈  发布时间:2017-03-31 09:06:34  来源:网络整理

均能通过后端打开 TCP 二进制套接字

均能出色地与运行在同一个浏览器窗口中的 Ajax 应用程序(主要是 JavaScript)交互

但这仅仅解决了部分问题。确实可以打开套接字,可以使 Ajax 应用程序使用它们,但 Ajax 应用程序仍然无法处理纯二进制数据。实际上,这两种技术都提供了二进制 TCP 套接字的一种变体,称为XMLSocket,它可用于来回传输纯 XML 数据。这正是您需要的东西。如果这些技术能够通过服务器打开套接字,如果它们能够传输 XML 数据,任务就完成了。Ajax 应用程序可充分利用这一点,模拟实时服务器推送技术。下面将介绍如何实现。

实现 Ajax 服务器推送

将使用两种工具解释这项技术:Adobe Flex 和 OpenLaszlo。首先,需要编写能够接收并缓存连接的后端服务器。在这里不能太过偏离主题,因而要保证服务器基于阻塞 IO。

需要创建一个服务器套接字,接收预先指定地址的连接:

清单 1. 创建服务器套接字

publicclassSimpleServer{

publicstaticvoidmain(String[]args)throwsIOException{

ServerSocketserverSocket=newServerSocket();

服务器推送技术_数据推送的几种方式_开源消息推送服务器

serverSocket.bind(newInetSocketAddress("localhost",20340));

Socketsocket=serverSocket.accept();

}

}

在这里,将服务器套接字绑定到 localhost:20340 这一地址。当一个客户端连接到该服务器套接字时,它将为我提供一个套接字,显示连接。Flex 客户端随后会要求策略文件,这是其安全性模型的一部分。通常,这个策略文件的形式类似于清单 2。

清单 2. Flex 客户端策略文件

<?xmlversion="1.0"?>

<!DOCTYPEcross-domain-policySYSTEM

"">

<cross-domain-policy>

<allow-access-fromdomain="*"to-ports="20340">

<cross-domain-policy>

就在连接之后,Flex 客户端会立即发送一条策略文件的请求。该请求仅包含一个 XML 标记:<policy-file-request>。在响应中,您需要返回此策略文件。清单 3 中的代码就完成了这个任务。

清单 3. 发送策略文件响应

publicstaticvoidmain(String[]args)throwsIOException{

ServerSocketserverSocket=newServerSocket();

serverSocket.bind(newInetSocketAddress("localhost",20340));

Socketsocket=serverSocket.accept();

StringPOLICY_REQUEST="<policy-file-request>u0000";

StringPOLICY_FILE="<?xmlversion="1.0"?>n"+


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxinshuyu/article-38618-3.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...