Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sockets Netty向套接字发送事件_Sockets_Events_Netty - Fatal编程技术网

Sockets Netty向套接字发送事件

Sockets Netty向套接字发送事件,sockets,events,netty,Sockets,Events,Netty,我正在用Netty 5.0构建socket web服务器。我完成了WebSocketServer示例()。 但我不明白如何从单独的线程向套接字发送事件。所以我有一个线程,每秒从外部资源加载一些数据。这是接收股票数据的StockThread。在接收到数据之后,线程应该向套接字发送事件。这样做的最佳实践是什么 它使用以下方法:在StockThread内部,我存储ChannelHandlerContext的列表。接收数据后,我只调用ChannelHandlerContext的write()方法。所以w

我正在用Netty 5.0构建socket web服务器。我完成了WebSocketServer示例()。 但我不明白如何从单独的线程向套接字发送事件。所以我有一个线程,每秒从外部资源加载一些数据。这是接收股票数据的StockThread。在接收到数据之后,线程应该向套接字发送事件。这样做的最佳实践是什么

它使用以下方法:在StockThread内部,我存储ChannelHandlerContext的列表。接收数据后,我只调用ChannelHandlerContext的write()方法。所以write()方法是从StockThread调用的。这样可以吗?或者有更合适的方式吗?

是的,ChannelHandlerContext是线程安全的,可以缓存,所以这种使用方式完全可以

请参阅“Netty In Action”一书中的注释,这证明了我的话:

You can keep the ChannelHandlerContext for later use, 
such as triggering an event outside the handler methods, 
even from a different Thread.