我希望能够处理从单个处理程序中的客户端进入的所有消息.
示例客户端代码:
var socket = io.connect('http://localhost');
socket.emit('news', { hello: 'test' });
socket.emit('chat', { hello: 'test' });
Run Code Online (Sandbox Code Playgroud)
示例服务器代码:
io.sockets.on('connection', function (socket) {
socket.on('message', function (data) {
console.log(data);
}); });
Run Code Online (Sandbox Code Playgroud)
我希望能够记录每条消息,即使它是使用emit发送的新闻,聊天或其他任何名称.这可能吗?
注意:上述服务器代码不起作用.目前没有任何记录.我只是想知道是否有一个事件可以处理每个发射名称的所有消息.
我有一个简单的类来计算我添加到它的值的移动平均值.我这样使用它:
MovingAverage ma = new MovingAverage();
ma.push(value1);
ma.push(value2);
...
Console.Writeline(average.Average);
//the class
public class MovingAverage
{
public int Period = 5;
private Queue<double> Quotes = new Queue<double>();
public void Push(double quote)
{
if (Quotes.Count == Period)
Quotes.Dequeue();
Quotes.Enqueue(quote);
}
public void Clear()
{
Quotes.Clear();
}
public double Average { get { if (Quotes.Count == 0) return 0; return Quotes.Average(); } }
public double ExponentialMovingAverage
{
get
{
???
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想扩展这个类也返回ExponentialMovingAverage.您将如何写入报价中的排队项目的指数平均值?
我意识到你需要在类中添加一个Alpha属性,但我不确定如何完成计算的数学运算.