该模块提供了启动和控制 HTTP Web 服务器的方法。 它是 Jetty Web 服务器的包装器,并且支持 WebSocket 协议。
// starts the current module via module.id as web application
require("ringo/httpserver").main(module.id);
// starts the module "./app/actions" as web application
require("ringo/httpserver").main(module.resolve('./app/actions'));
将此上下文中的请求路径映射到给定的 servlet。
String | servletPath | the servlet path |
Servlet | servlet | a java object implementing the javax.servlet.Servlet interface. |
Object | initParams | optional object containing servlet init parameters |
在这种情况下开始接受 WebSocket 连接。
var context = server.getDefaultContext();
context.addWebSocket("/chat", function (socket) {
// reacts on an incoming message fromt the client
socket.onmessage = function(msg) {
// ...
};
// client closed the connection
socket.onclose = function() {
// ...
};
// sends a string to the client
socket.sendString("...");
});
String | path | The URL path on which to accept WebSocket connections |
Function | onConnect | A function called for each new WebSocket connection with the WebSocket object and the session as arguments. |
Function | onCreate | Optional function called before a WebSocket
instance is created. This function receives the request and
response objects as arguments. Only if the function returns |
Object | initParams | Optional object containing servlet initialization parameters |
将此上下文映射到 JSGI 应用程序。
var server = new Server({ ... config ... });
// 1st way: app argument is a JSGI application function
server.getDefaultContext().serveApplication(function(req) {
return {
status: 200,
headers: {},
body: ["Hello World!"]
};
});
// 2nd way: app argument is an object
server.getDefaultContext().serveApplication({
appModule: module.resolve("./myWebapp"),
// myWebapp exports a function called 'app'
appName: "app"
});
// since serveApplication() doesn't start the server:
server.start();
Function|Object | app | a JSGI application, either as a function or an object with the properties
|
RhinoEngine | engine | optional RhinoEngine instance for multi-engine setups |
将该上下文映射到包含静态资源的目录。
String | dir | the directory from which to serve static resources |
使用给定的选项创建一个 Jetty HTTP 服务器。这些选项可以定义要与默认 jetty.xml 一起使用的属性,也可以定义自定义配置文件。
Object | options | A javascript object with any of the following properties (default values in parentheses):
For convenience, the constructor supports the definition of a JSGI application and static resource mapping in the options object using the following properties:
|
销毁 HTTP 服务器,释放其资源。
获取给定路径和虚拟主机的 servlet 应用程序 context,如果它不存在则创建它。
String | path | the context root path such as |
String|Array | virtualHosts | optional single or multiple virtual host names.
A virtual host may start with a |
Object | options | may have the following properties:
|
Context | a Context object |
获取服务器的默认上下文。默认 context 是创建服务器时创建的上下文。
Context | the default Context |
获取 Jetty 服务器实例
org.eclipse.jetty.server.Server | the Jetty Server instance |
检查此服务器当前是否在运行。
Boolean | true if the server is running, false otherwise. |
启动 HTTP 服务器。
停止 HTTP 服务器。
不通过此模块导出为构造函数。
关闭 WebSocket 连接。
不推荐使用!
通过 WebSocket 发送一个字符串。
String | message | a string |
通过 WebSocket 发送一个字节数组。该方法阻塞,直到消息被发送。
ByteArray | byteArray | The byte array to send |
Number | offset | Optional offset (defaults to zero) |
Number | length | Optional length (defaults to the length of the byte array) |
通过 WebSocket 发送一个字节数组。这种方法不会等待消息被传输。
ByteArray | byteArray | The byte array to send |
Number | offset | Optional offset (defaults to zero) |
Number | length | Optional length (defaults to the length of the byte array) |
java.util.concurrent.Future |
通过 WebSocket 发送一个字符串。这种方法阻塞直到消息已经被发送
String | message | a string |
通过 WebSocket 发送一个字符串。这种方法不会等待消息被传输。
String | message | a string |
守护程序生命周期函数由init脚本调用。释放服务器实例占用的任何资源。如果应用程序导出一个名为 destroy 的函数,它将作为参数与服务器一起调用。
Server | the Server instance. |
守护程序生命周期函数由 init 脚本调用。使用 appPath 中的应用程序创建一个新的服务器。如果应用程序导出一个名为 init 的函数,它将以新服务器作为参数进行调用。
String | appPath | optional application file name or module id.
If undefined, the first command line argument will be used as application.
If there are no command line arguments, module |
Server | the Server instance. |
主要功能是从命令行启动 HTTP 服务器。它会自动添加一个关闭挂钩,以停止并销毁 JVM 终端处的服务器。
// starts the current module via module.id as web application
require("ringo/httpserver").main(module.id);
// starts the module "./app/actions" as web application
require("ringo/httpserver").main(module.resolve('./app/actions'));
String | appPath | optional application file name or module id. |
Server | the Server instance. |
守护程序生命周期函数由 init 脚本调用。启动由 init() 创建的服务器。如果应用程序导出一个名为 start 的函数,它将在服务器启动后立即作为参数调用。
Server | the Server instance. |
守护程序生命周期函数由 init 脚本调用。停止由start() 启动的服务器。
Server | the Server instance. If the application exports a function
called |