0

我有两个问题:

问题(1):我想通过 TCP 将我在 .net micro framework v4.2 上工作的 Gadgeteer 连接到我在 node.js 上编写的服务器,但我只是坚持

socket.Connect(new IPEndPoint(IPAddress.Parse(ip_address), port)); 它只是在加载。我有一个以太网模块,我在https://netmf.codeplex.com/releases/view/81000阅读的标题错误修复下读到“重新插入以太网电缆后 Socket.Connect 仍然阻塞”这个问题是否已修复?

代码是:

 Connecttoserver(settings.IPAddress, 8000);

       void Connecttoserver(string ip_address, int port)
     {
          try
           {

socket = new Socket(AddressFamily.InterNetwork, 
                              SocketType.Stream, 
                                      ProtocolType.Tcp);

               socket.Connect(new IPEndPoint(IPAddress.Parse(ip_address), port));

               Send("HI !");

               ReceiveThread = new Thread(Receive);

               ReceiveThread.Start();



           }

          catch (Exception x)
           {


           }


       }

问题2):

我想使用使用 websockets 而不是 TCP/IP 的 socket.io,但是当我从这个网站https://github.com/nikkis/SocketIO.NetMF/尝试示例时。我可以在输出中看到消息已发送但没有任何反应,服务器从未连接到我的 Gadgeteer?有人可以帮助我使用直接将数据发送到客户端而不是浏览器的 socket.io 服务器。node.js中的socket.io有可能吗?

4

1 回答 1

0

对于您的问题(2):

你有哪个版本的 Socket.IO 用于 Node.js?我认为该库支持 0.9.x 版本。当您尝试连接您的 Gadgeteer 时,您能说出您的 Node.js 日志的内容吗?它是否接收连接事件?下面是一个示例来设置应该与该库一起使用的 Node.js socket.io。

var server = APP.listen( config.server.port );
var io = socket.listen( server );

io.sockets.on( 'connection', function( socket ) {
  console.log( 'connection' );

  socket.on( 'disconnect', function( deviceid ) {

    console.log( 'disconnecting ' + socket.id );

  } );

  socket.on( 'my_own_event', function( param1, param2 ) {

    console.log( 'executing my own event' );

  } );

}
于 2014-10-31T09:35:56.930 回答