`
javatoyou
  • 浏览: 1100349 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Jwebsocket Server启动流程

 
阅读更多

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线程处理客户端与服务器之间的数据传输。

分享到:
评论

相关推荐

    WebSocket通讯框架 jWebSocket

    服务器端的代码可以通过实现`org.jwebsocket.server.WsListener`接口来编写。 2. **客户端连接**:客户端可以通过WebSocket API建立到服务器的连接,这个API提供了连接、发送和接收消息的方法。对于浏览器中的应用...

    jwebscoket

    jWebSocket Server - 基于Java的WebSocket服务器,用于server-to-client(S2C)客户端到服务器的流媒体解决方案,和服务器控制(C2C) client-to-client客户端到客户端的通信。 jWebSocket Clients – 纯JavaScript的...

    WebSocket通讯框架 jWebSocket.7z

    jWebSocket就是为实现WebSocket协议而设计的,它简化了开发者在Java平台上创建WebSocket服务端和客户端应用程序的过程。 首先,jWebSocket框架提供了易于使用的API,使得开发者能够快速地集成WebSocket功能到他们的...

    jwebSocket 源码

    1. **连接管理**:jWebSocket通过`JWebSocketServer`类的`start()`方法启动服务器,监听客户端的WebSocket连接请求。连接建立后,每个客户端都会有一个对应的`JWSContext`实例。 2. **数据传输**:`DataFrame`类实现...

    基于java的WebSocket通讯框架 jWebSocket.zip

    5. **启动服务**:调用Server的start()方法启动WebSocket服务器。 6. **客户端连接**:客户端可以使用浏览器或者其他支持WebSocket的库连接到服务器,进行双向通信。 7. **测试与调试**:通过发送消息并观察服务器...

    基于Java的实例源码-WebSocket通讯框架 jWebSocket.zip

    创建WebSocket服务器时,我们需要继承jWebSocket提供的`org.jwebsocket.server.WebSocketServer`类,并重写其中的`onOpen`, `onMessage`, `onClose`和`onError`方法,分别对应连接打开、接收到消息、连接关闭和错误...

    基于Java的WebSocket通讯框架 jWebSocket.zip

    在实际开发中,使用jWebSocket可以大大简化WebSocket应用的构建过程。首先,你需要在服务器端设置一个WebSocket监听器,监听特定的WebSocket端点。然后,客户端通过指定URL建立WebSocket连接,并发送或接收数据。...

    JAVA源码WebSocket通讯框架jWebSocket

    JAVA源码WebSocket通讯框架jWebSocket

    WebSocket通讯框架 jWebSocket源码

    jWebSocket就是一款基于Java实现的WebSocket通讯框架,它为开发者提供了简单易用的API来实现WebSocket服务。 jWebSocket的核心特性包括: 1. **易于使用**:jWebSocket提供了一个简洁的API,使得开发者可以快速地...

    java源码:WebSocket通讯框架 jWebSocket.rar

    9. **调试工具**: 提供了内置的控制台和日志记录,方便开发者在开发和调试过程中了解服务器和客户端的状态。 10. **社区支持**: 由于是开源项目,jWebSocket拥有活跃的社区,开发者可以通过论坛、邮件列表等方式...

    java资源WebSocket通讯框架 jWebSocket

    java资源WebSocket通讯框架 jWebSocket提取方式是百度网盘分享地址

    基于java的开发源码-WebSocket通讯框架 jWebSocket.zip

    - **消息处理**:理解WebSocket消息的编码和解码过程,以及如何通过事件驱动模型处理接收到的消息。 - **安全性设置**:如何配置SSL/TLS,启用HTTPS,保护数据传输。 - **错误处理**:学习如何处理网络异常、协议...

    小程序 WebSocket通讯框架 jWebSocket(源码).rar

    免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,...

    jWebSocketFullSources

    4. **安全性**:jWebSocket支持SSL/TLS加密,可以确保在传输过程中数据的安全性,防止数据被窃取或篡改。 5. **事件驱动**:jWebSocket采用事件驱动模型,当服务器或客户端的状态发生变化时,会触发相应的事件,...

    jwebsocketclient

    在描述中提到,“jwebsocket的客户端源码及示例”,这意味着这个压缩包包含了该库的源代码和示例项目,可以帮助开发者深入理解其工作原理并进行定制化开发。"js什么的用的比较多"可能指的是在实现WebSocket协议时,...

    android网络套接字.zip

    outputStream.write("Hello, Server!".getBytes()); InputStream inputStream = clientSocket.getInputStream(); byte[] buffer = new byte[1024]; int read = inputStream.read(buffer); // 读取服务器响应 ``` ...

    jWebSocketServer

    要使用jWebSocketServer,首先需要下载并解压"jWebSocketServer-1.0-nb20507.zip"文件,其中包含的核心组件是"jWebSocket-1.0"。解压后,你可以找到包含服务器启动脚本和相关文档的目录结构。 - **配置**:通过修改...

    HTML5 WebSockets基础使用教程

    除此之外,还可以选择其他语言实现,如Java的`jWebSocket`、Ruby的`web-socket-ruby`、Node.js的`SocketIO-node`等。 2. **安装与配置**:确保安装了相应的服务器环境(如XAMPP),并根据需要修改服务器的配置文件,...

    HTML5开发精要与实例详解(完整版源代码含说明文档)

    第二部分讲解了jwebsocket、rgraph、webgl等3个重要框架和技术的详细使用方法。 《html 5开发精要与实例详解》一共12章:第1章分别用2个案例演示了如何利用html 5中的结构元素来构建一个博客网站和企业门户网站;第2...

Global site tag (gtag.js) - Google Analytics