我做了一个简单的测试,尝试使用Web套接字将C#应用程序连接到节点js服务器。我使用以下nugget包SocketIoClientDotNet(https://github.com/Quobject/SocketIoClientDotNet/)。
我的应用代码:
using System;
using Android.App;
using Android.Content;
using Android.Runtime;
using Android.Views;
using Android.Widget;
using Android.OS;
using Quobject.SocketIoClientDotNet.Client;
using Quobject.EngineIoClientDotNet.Modules;
namespace TestWebSocket
{
[Activity(Label = "TestWebSocket", MainLauncher = true, Icon = "@drawable/icon")]
public class MainActivity : Activity
{
private Socket socket;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.Main);
// Get our button from the layout resource,
// and attach an event to it
Button button = FindViewById<Button>(Resource.Id.MyButton);
button.Click += delegate {
Console.WriteLine("Step1");
socket = IO.Socket("http://localhost:8080");
socket.On(Socket.EVENT_CONNECT, () =>
{
Console.WriteLine("Step3");
});
};
}
}
}
我的nodejs代码:
var http = require('http');
// Chargement du fichier index.html affiché au client
var server = http.createServer(function(req, res) {
res.writeHead(200);
res.end("content");
});
// Chargement de socket.io
var io = require('socket.io').listen(server);
// Quand un client se connecte, on le note dans la console
io.sockets.on('connection', function (socket) {
console.log('Un client est connecté(e)';
});
server.listen(8080);
当我点击按钮(使用Android模拟器)时,我只是看&#34; Step1&#34;在控制台中,没有任何错误指示。我不知道为什么&#34; Step3&#34;不起作用(这意味着应用程序不会尝试连接到服务器!)。
你能帮助我吗?