Silverlight client Node.js服务器-拒绝访问错误

Silverlight client Node.js服务器-拒绝访问错误,silverlight,node.js,sockets,Silverlight,Node.js,Sockets,我有一个简单的nodejs Tcp服务器,它注册每个客户端并将每个消息从客户端广播到所有其他客户端 问题是连接silverlight插座。当我尝试连接到4530端口上运行nodejs Tcp服务器的公共IP时,我收到一个错误,提示“访问被拒绝” nodejs代码: net = require('net'); var clients = []; net.createServer(function (socket) { socket.name = socket.

我有一个简单的nodejs Tcp服务器,它注册每个客户端并将每个消息从客户端广播到所有其他客户端

问题是连接silverlight插座。当我尝试连接到4530端口上运行nodejs Tcp服务器的公共IP时,我收到一个错误,提示“访问被拒绝”

nodejs代码:

net = require('net');         
var clients = [];
net.createServer(function (socket) {        
  socket.name = socket.remoteAddress + ":" + socket.remotePort 
  clients.push(socket);      
  socket.on('data', function (data) {
    broadcast(data, socket);
  });        
  socket.on('end', function () {
    clients.splice(clients.indexOf(socket), 1);

  });
  function broadcast(message, sender) {
    clients.forEach(function (client) {

      if (client === sender) return;
      client.write(message);
    });
  }     
}).listen(4530);
Silverlight代码:

void Connect(string IP_Address)
{
    client_socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
    SocketAsyncEventArgs socketEventArg = new SocketAsyncEventArgs()
    {
          RemoteEndPoint = new IPEndPoint(IPAddress.Parse(IP_Address), 4530)
    };
    socketEventArg.Completed += OnConncetCompleted;
    client_socket.ConnectAsync(socketEventArg);
}

void OnConncetCompleted(object sender, SocketAsyncEventArgs e)
        {
            if (e.SocketError == SocketError.Success)
            {
                this.Dispatcher.BeginInvoke(new ShowMessagedelegate(ShowMessageBox), "Connceted Successfully!");
                this.Dispatcher.BeginInvoke(new Enabledelegate(EnableControl), true);

            }
            else
            {
                this.Dispatcher.BeginInvoke(new ShowMessagedelegate(ShowMessageBox), e.SocketError.ToString());
                this.Dispatcher.BeginInvoke(new Enabledelegate(EnableControl), false);
            }

        }

可能在nodejs Tcp服务器的根目录下没有clientaccesspolicy.xml文件。阅读更多:

策略文件示例:

<?xml version="1.0" encoding ="utf-8"?>
<access-policy>
  <cross-domain-access>
    <policy>
      <allow-from>
        <domain uri="file:///" />
      </allow-from>
      <grant-to>
        <socket-resource port="4530" protocol="tcp" />
      </grant-to>
    </policy>
  </cross-domain-access>
</access-policy>