Jwebsocket Server啟動流程

來源:互聯網
上載者:User

JWebSocketFactory 工廠類根據 jwebsocket.xml設定檔初始化 Jwebsocket引擎,伺服器以及plugin chain.

 

 JWebSocketFactory: Starting jWebSocket Server sub system

  ....

 JWebSocketLoader: Loading jWebSocket.xml

AbstractJWebSocketInitializer: Instantiating engine...
2011-01-05 18:19:41,235 INFO  - AbstractJWebSocketInitializer: Engine tcp0 instantiated.
2011-01-05 18:19:41,236 DEBUG - JWebSocketFactory: Initializing servers...
2011-01-05 18:19:41,287 INFO  - AbstractJWebSocketInitializer: Custom servers instantiated.
2011-01-05 18:19:41,287 DEBUG - AbstractJWebSocketInitializer: server=[org.jwebsocket.server.CcicJwsServer@19b719d

 

...........

 

載入一系列plugins.....

 

這裡有一FlashBridgePlugIn值得注意,是用來做瀏覽器安全色用的,因為wesocket 是html5的一部分,很多瀏覽器不支援,所以用

flash來做橋,websocket協議的核心無非是在瀏覽器端實現socket介面,flash本身提供socket編程介面,所以這裡用flash做橋。。

連接埠為843。

 

2011-01-05 18:19:41,393 DEBUG - JWebSocketFactory: Initializing filters...
2011-01-05 18:19:41,393 DEBUG - TokenFilterChain: Adding token filter cjf0...
2011-01-05 18:19:41,394 INFO  - JWebSocketFactory: Filters initialized.
2011-01-05 18:19:41,394 DEBUG - JWebSocketFactory: Starting engine 'tcp0'...
2011-01-05 18:19:41,395 DEBUG - TCPEngine: Starting TCP engine 'tcp0' at port 8787...
2011-01-05 18:19:41,401 INFO  - TCPEngine: TCP engine 'tcp0' started' at port 8787.
2011-01-05 18:19:41,402 DEBUG - JWebSocketFactory: Starting servers...
2011-01-05 18:19:41,402 INFO  - JWebSocketFactory: jWebSocket server startup complete

。。。。。。。。。

 

 

當瀏覽器 用戶端串連時,握手過程。。。

 

TCPEngine: Received Header (GET / HTTP/1.1/nUpgrade: WebSocket/nConnection: Upgrade/nHost: 10.10.10.182:8787/nOrigin: http://10.10.10.122/nCookie: _login_username_cookie=233223432; _login_user_cookie_id=1292484678732_232323-295817044/n)

 

TCPEngine 介面用戶端請求,

 

TCPEngine: Parsed header (host: 10.10.10.182:8787, origin: http://10.10.10.122, location: ws://10.10.10.122:8787/, path: /, searchString: )

 

解析要求標頭,,,

TCPEngine: Sent handshake (HTTP/1.1 101 Web Socket Protocol Handshake/nUpgrade: WebSocket/nConnection: Upgrade/nWebSocket-Origin: http://10.10.10.122/nWebSocket-Location: ws://10.10.10.122:8787//n/n)

 

響應,握手。。

TCPEngine$EngineListener: Starting connector...  啟動connector 執行個體,

 TCPConnector: Starting TCP connector...
2011-01-05 18:18:49,381 INFO  - TCPConnector: Started TCP connector on port 4452.
2011-01-05 18:18:49,382 DEBUG - TCPEngine: Detected new connector at port 4452.
2011-01-05 18:18:49,382 DEBUG - tccJwsServer: Processing connector '4452' started...
2011-01-05 18:18:49,382 DEBUG - BasePlugInChain: Notifying plug-ins that connector started...
2011-01-05 18:18:49,385 DEBUG - PlugIn: Sending welcome...
2011-01-05 18:18:49,385 DEBUG - Server: Sending token '{sid=9d7bf2c4f98ba4aa1552064af22e0853,type=welcome,timeout=120000}' to '10.10.10.158:4452'...
2011-01-05 18:18:49,923 DEBUG - 、Server: Processing token '{number400=34234324,pwd=,utid=164,cno=2000,type=login} from '10.10.10.158:4452'...

 

 

 

 jwebsocket 伺服器支援單線程+非同步IO及多線程兩種模式,對於多線程模式,這裡TCPEngine為一個線程,負責握手,一旦握手成功則啟動TCPConnector線程處理用戶端與伺服器之間的資料轉送。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.