小编cil*_*arl的帖子

在Windows Azure上运行Fleck(或任何)Websocket服务器

我想从Azure中的一个辅助角色运行一个WebSocket服务器.

这在模拟器上本地工作正常,但是第一次运行套接字服务器时会出现Windows防火墙提示.

我想知道是否有人知道如何克服Azure上的套接字的连接问题.

我的socket服务器实现: OnStart

var server = new WebSocketServer("ws://theappname.cloudapp.net:8080/");

server.Start(socket =>
{
    socket.OnOpen = () =>
    {
        Trace.WriteLine("Connected to " + socket.ConnectionInfo.ClientIpAddress,"Information");
         _sockets.Add(socket);
    };
});
.... etc
Run Code Online (Sandbox Code Playgroud)

客户端实现:

var socket = new WebSocket("ws://theappname.cloudapp.net:8080");

socket.onopen = function () {
    status.html("Connection Opened");
};
socket.onclose = function () {
    status.html("Connection Closed");
}
Run Code Online (Sandbox Code Playgroud)

closed加载页面后状态会更改为几秒钟.


我的工作者角色的端点如下:

WebSocket Input http 8080 <Not Set>


我现在尝试使用以下内容绑定到内部IP地址:

RoleEnvironment.CurrentRoleInstance.InstanceEndpoints["WebSocket"].IPEndpoint.ToString();


为了在Azure上实现websockets时面临这一点的任何人;

  1. 如果不在端口80或8080上,您的防火墙可能会拒绝您的连接,因此请为其创建单独的部署.

  2. 必须将端点设置为TCP而不是HTTP才能创建正确的防火墙规则.(见图)

端点配置

c# azure websocket

11
推荐指数
1
解决办法
4235
查看次数

基于JSON的架构,如何最好地同步前端和后端

看一下将JSON用于基于.net REST的新系统,看起来很棒,但有一点可以暗示我的理解.保持应用程序任一端的JSON同步的策略是什么?

我的意思是,如果您为以下网站进行GET:www.mysite.com/item/12345.然后应用程序的.net端转到db,检索ID为12345的Item并将其解析为对象模型Item,然后将其序列化为JSON并返回.

如果您执行POST操作:www.mysite.com/item并通过 -

{
    "Id": "12346",
    "ItemName": "New Item",
    "ItemCost": 45
}
Run Code Online (Sandbox Code Playgroud)

然后,应用程序的.net端将其拾取,将其反序列化为Item对象,然后将其移交以添加到db.

如何让双方,JS对象模型和.net对象模型序列化同步?这只需要手工维护,还是有一种基于.net模型序列化为JSON提供模板的聪明方法?

我只是在寻找最佳实践,并了解已完成的事情,并且没有看到客户端如何知道将JSON传递给服务器端.

c# json

7
推荐指数
1
解决办法
671
查看次数

WebSocket流量编码(GZip)

StackOverflow在其所有页面上使用GZip编码; 他们的websocket流量似乎也是如此,因为它似乎完全混淆了.

在此输入图像描述

他们如何/将用什么来实现这一目标; 而我需要做什么才能实现相同的目标,因为我的websocket服务器托管在没有IIS等的独立服务器上?

值得注意的http compression是,他们的websocket连接请求也没有设置.


完整日志截图:http://i44.tinypic.com/19s4yr.jpg

gzip http websocket

6
推荐指数
1
解决办法
3613
查看次数

在C#中处理Python泡菜字节对象

在C#应用程序中使用Pythonnet:

Python返回一个bytes ({<class 'bytes'>})对象,该对象是pickle.dumps操作的结果。

就持久性到Blob存储并重新存储bytes对象以在稍后阶段传递回Python 而言,用C#处理此对象的最佳方法是什么?

c# python.net

4
推荐指数
1
解决办法
234
查看次数

JSON反序列化Windows Phone

我试图反序列化以下JSON,但我真的不知道如何使用JSON.net来完成工作.我正在使用C#和JSON.Net库.

我的JSON如下:

{
    "found": 3,
    "bounds": [
        [
            -43.54919,
            172.62148
        ],
        [
            -43.54487,
            172.63654
        ]
    ],
    "features": [
        {
            "id": 15342454,
            "centroid": {
                "type": "POINT",
                "coordinates": [
                    -43.54779,
                    172.62148
                ]
            },
            "bounds": [
                [
                    -43.54779,
                    172.62148
                ],
                [
                    -43.54779,
                    172.62148
                ]
            ],
            "properties": {
                "osm_element": "node",
                "amenity": "toilets",
                "synthesized_name": "Toilets",
                "osm_id": "502884303"
            },
            "geometry": {
                "type": "POINT",
                "coordinates": [
                    -43.54779,
                    172.62148
                ]
            },
            "location": {
                "county": "Canterbury",
                "country": "New Zealand",
                "road": "Sommerset Crescent",
                "city": "Christchurch"
            },
            "type": "Feature"
        },
        { …
Run Code Online (Sandbox Code Playgroud)

c# json windows-phone-7 deserialization windows-phone-7.1

0
推荐指数
1
解决办法
3276
查看次数