实现rda.SocketsForPCL Xamarin形成PCL

时间:2017-01-20 10:28:08

标签: c# sockets xamarin.forms tcpclient portable-class-library

我需要创建与连接到设备的无线路由器的tcp连接,然后传递数据缓冲区。 也就是说,我安装了NuGet的插件,Socket.Plugin,但这会产生错误:

  

已加载套接字的空PCL实现。确保你有   将Sockets nuget包添加到您的每个平台项目中。

在xamarin表单中实现pcl项目: enter image description here

通话方法:

  var address = "192.168.222.1";
  var port = 5555;
  var r = new Random();

    try
    {
       var client = new Sockets.Plugin.TcpSocketClient();
       await client.ConnectAsync(address, port);
    }
    catch(Exception ex)
    {
        throw ex;
    }

enter image description here

当我在设备上启动应用程序时,出现此错误:

  

已加载套接字的空PCL实现。确保你有   将Sockets nuget包添加到您的每个平台项目中。

为什么我会收到错误?一切都是连通的,一切都是连通的。 我该怎么办?我忘了什么?

1 个答案:

答案 0 :(得分:0)

我不知道OP的结论是什么,但我遇到了同样的问题。我正在使用NuGet包" rda.SocketsForPCL"在便携式项目中。

我在Windows应用程序项目中引用了可移植项目。当尝试在可移植项目中创建TcpSocketClient时,它会抛出异常。事实证明,Windows应用程序中未引用的NuGet包导致此异常。

因此,将NuGet引用添加到Windows应用程序项目解决了这个问题。