小编com*_*lip的帖子

ASP.NET将所有websocket数据发送到客户端之前关闭连接

我写了一个简单的asp.net websocket处理程序作为远程数据处理服务器和客户端之间的网关.我在我的本地机器(win8,IIS EXPRESS 8)中进行了测试,一切运行良好.但是在azure网站上,ASP.NET在将所有websocket数据发送到客户端之前关闭了连接.

以下是我的数据传输代码:

internal class WebSocketStreamTransfer{

    public WebSocketStreamTransfer(CancellationToken disconnectionToken){
        DisconnectionToken = disconnectionToken;
    }

    private CancellationToken DisconnectionToken{
        get;
        set;
    }

    public async Task AcceptWebSocketConnection(WebSocketContext context) {
        if (context == null)
            throw new ArgumentNullException("context");
        WebSocket websocket = context.WebSocket;
        if (websocket == null)
            throw new SocksOverHttpException("Null websocket");
        using(IConnection conn = ConnectionManagerFactory.ConnectionManager.CreateConnection(Guid.NewGuid().ToString())) {
            try {
                DisconnectionToken.Register(conn.Close);
                TaskCompletionSource<bool> tcs = new TaskCompletionSource<bool>(null);
                await Task.WhenAny(SendDataToRemoteServer(conn, websocket, DisconnectionToken, tcs), SendDataToClient(conn, websocket, DisconnectionToken, tcs.Task));
            } catch(Exception e) {
                Logger.LogException(e);
            }
        }
    }

    internal static async Task …
Run Code Online (Sandbox Code Playgroud)

asp.net azure websocket

8
推荐指数
1
解决办法
778
查看次数

为什么C / RUST中的一个加法计算在结果ASM中有3个双精度浮点加法工具?

简单的C代码,只需添加一个双精度。

void test(double *a, double *b, long n) {
    for (long j = 0; j < n; j++)
    for (long i = 0; i < n; i++) {
        b[i] = b[i] + a[j];
    }
}
Run Code Online (Sandbox Code Playgroud)

在编译器资源管理器中获取ASM结果:https : //godbolt.org/z/tJ-d39

有一addpd和二addsd。两者都是与双精度有关的。

另一个类似的锈代码,获得了更多的双精度添加工具:https//godbolt.org/z/c49Wuh

pub unsafe fn test(a: &mut [f64], b: &mut [f64], n: usize) {
    for j in 0..n {
        for i in 0..n {
            *b.get_unchecked_mut(i) = *b.get_unchecked_mut(i) + *a.get_unchecked_mut(j);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c assembly simd rust auto-vectorization

-1
推荐指数
2
解决办法
113
查看次数

标签 统计

asp.net ×1

assembly ×1

auto-vectorization ×1

azure ×1

c ×1

rust ×1

simd ×1

websocket ×1