黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

Tomca教程
Tomcat Manager
Tomcat Realm 配置
Tomcat 安全管理
Tomcat JNDI 資源
Tomcat JDBC 數據源
Tomcat 類加載機制
Tomcat JSPs
Tomcat SSL/TLS配置
Tomcat SSI
Tomcat CGI
Tomcat 代理支持
Tomcat MBean 描述符
Tomcat 默認 Servlet
Tomcat 集群
Tomcat 連接器
Tomcat監控與管理
Tomcat 日志機制
Tomcat 基于 APR 的原生庫
Tomcat 虛擬主機
Tomcat 高級 IO 機制
Tomcat 附加組件
Tomcat 安全性注意事項
Tomcat Windows 服務
Tomcat Windows 認證
Tomcat 的 JDBC 連接池
Tomcat WebSocket 支持
Tomcat 重寫機制

Tomcat WebSocket 支持

WebSocket 支持簡介

Tomcat 支持由 RFC 6455 所定義的 WebSocket。

應用開發

Tomcat 實現由 JSR-356 定義的 Java WebSocket 1.1 API。

關于 WebSocket API 的使用方法,可查看相關范例,既需要查看客戶端 HTML 代碼,也需要查看服務器代碼。

生產用途

雖然 WebSocket 實現可以和任何 HTTP 連接器一起使用,但并不建議和 BIO HTTP 連接器一起使用,因為 WebSocket 典型用途(大量連接很多時候都是空閑的)并不是很適合 HTTP BIO 連接器,因為該連接器需要不管連接是否空閑,每個連接都應該分配一個線程。

目前,已有報告(56304)發現,Linux 會用大量時間來報告刪除的連接。當利用 BIO HTTP 連接器使用 WebSocket 時,當在這段時間內寫入時,就容易產生線程阻塞。這似乎不是一種理想的解決方案。使用內核網絡參數 /proc/sys/net/ipv4/tcp_retries2,可以減少報道刪除的連接所花費的時間。或者可以選擇另一種 HTTP 連接器,因為它們使用的是非阻塞 IO,從而能讓 Tomcat 實現自己的超時機制來解決這些問題。

Tomcat WebSocket 特定配置

Tomcat 為 WebSocket 提供了一些 Tomcat 專有配置選項。這些配置將來有望能進入 WebSocket 正式規范中。

以阻塞模式發送 WebSocket 消息所用的寫入超時默認值為 20000 毫秒(20 秒)。通過設定連接到 WebSocket 會話的用戶屬性集合中的 org.apache.tomcat.websocket.BLOCKING_SEND_TIMEOUT 屬性,我們可以修改這個寫入超時屬性值。該屬性值類型應該為 Long,以毫秒表示所用的超時時間,-1 表示超時無限。

如果應用沒有為傳入的二進制消息定義 MessageHandler.Partial,那么必須先對任何傳入的二進制消息進行緩存,繼而可以通過調用一個已注冊專用于處理二進制消息的 MessageHandler.Whole 來傳遞整個消息。默認用于二進制消息的緩存容量是 8192 字節。在應用中,將servlet 上下文初始參數 org.apache.tomcat.websocket.binaryBufferSize 設置為期望的字節值,就能修改這個緩存容量。

如果應用沒有為傳入的文本消息定義 MessageHandler.Partial,那么必須先對任何傳入的文本消息進行緩存,繼而可以通過調用一個已注冊專用于處理文本消息的 MessageHandler.Whole 來傳遞整個消息。默認用于文本消息的緩存容量是 8192 字節。在應用中,將servlet 上下文初始參數 org.apache.tomcat.websocket.textBufferSize 設置為期望的字節值,就能修改這個緩存容量。

Java WebSocket 規范 1.0 并不允許第一個服務端點開始 WebSocket 握手之后進行程序性部署。默認情況下,Tomcat 繼續允許額外的程序性部署。這一行為是通過 servlet 上下文初始化參數 org.apache.tomcat.websocket.noAddAfterHandshake 來控制的。將系統屬性 org.apache.tomcat.websocket.STRICT_SPEC_COMPLIANCE 變為 true,可以改變默認值,但是 servlet 上下文中的顯式設置卻總是優先的。

Java WebSocket 規范 1.0 要求,異步寫操作的回調所在的線程應不同于初始化寫操作的線程。因為容器線程池并未通過 Servlet API 暴露出來,所以 WebSocket 實現必須提供自己的線程池。這種線程池通過下列 Servlet 上下文初始化參數來控制:

  • org.apache.tomcat.websocket.executorCoreSize:executor 線程池的核心容量大小。如果不設置,則采用默認值 0。注意,executor 線程池最大允許容量被硬編至 Integer.MAX_VALUE,實際上可以認為該值是無限的。
  • org.apache.tomcat.websocket.executorKeepAliveTimeSeconds:在終止前,空閑線程在 executor 線程池中留存的最長時間。如未指定,則采用默認的 60 秒。
  • 在使用 WebSocket 客戶端來連接服務端點時,建立該連接的 IO 超時是通過提供的 javax.websocket.ClientEndpointConfig 的 userProperties 來控制的。該屬性是 org.apache.tomcat.websocket.IO_TIMEOUT_MS,是以字符串形式表示的超時時間(以毫秒計),默認為 5000(5 秒)。

在使用 WebSocket 客戶端來連接安全的服務端點時,客戶端 SSL 配置是通過提供的 javax.websocket.ClientEndpointConfig 的 userProperties 來控制的。提供以下用戶屬性:

  • org.apache.tomcat.websocket.SSL_CONTEXT
  • org.apache.tomcat.websocket.SSL_PROTOCOLS
  • org.apache.tomcat.websocket.SSL_TRUSTSTORE
  • org.apache.tomcat.websocket.SSL_TRUSTSTORE_PWD

默認的信任存儲密碼(truststore password)為:changeit。

如果設置了 org.apache.tomcat.websocket.SSL_CONTEXT 屬性,則將忽略這兩個屬性:org.apache.tomcat.websocket.SSL_TRUSTSTORE 和 org.apache.tomcat.websocket.SSL_TRUSTSTORE_PWD。

全部教程
主站蜘蛛池模板: 操操操日日日 | 免费看大美女大黄大色 | 亚洲日本中文字幕在线 | 日韩欧美一区二区三区中文精品 | 国产福利麻豆精品一区 | 1000部羞羞视频在线看视频 | 天天操夜夜嗨 | 91桃色观看入口 | 一级成人毛片免费观看 | 激情欧美一区二区三区中文字幕 | 婷婷天堂| 日韩人成免费网站大片 | 欧美黄成人免费网站大全 | 久久精品影视 | 黄色在线网站视频 | 久久国产一级毛片一区二区 | 日韩成a人片在线观看日本 日韩操操操 | 污网站在线观看免费 | a级精品九九九大片免费看 a级精品国产片在线观看 | 三级毛片在线免费观看 | 国产一级片视频 | 一区二区视频在线播放 | 色片免费 | 亚州一级毛片 | 免费一级片在线观看 | 免费播放欧美一级特黄 | 中文字幕日韩一区二区三区不 | 全网毛片免费| 国产成人在线视频免费观看 | 欧美线在线精品观看视频 | 天天插天天搞 | 可以免费观看的一级毛片 | 成人在线精品视频 | 色噜噜狠狠色综合免费视频 | 在线观看毛片视频 | 精品在线免费视频 | 一区二区中文字幕 | 91精品在线国产 | 午夜精品网| 午夜一级做a爰片久久毛片 午夜一级免费视频 | 日韩黄色中文字幕 |