首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在xamarin窗体pcl上安装System.Net.Sockets

在xamarin窗体pcl上安装System.Net.Sockets
EN

Stack Overflow用户
提问于 2017-04-06 12:35:39
回答 2查看 1.8K关注 0票数 0

我有个问题。我需要在xamarin表单上使用TcpClient,但是"System.Net.Sockets“不会安装。我不能用Nuget来安装它。

错误是:

无法安装软件包'System.Net.Sockets 4.3.0‘。您正在尝试将此包安装到一个以“.NETPortable,Version=v4.6,Profile=Profile 44”为目标的项目中,但该包不包含任何与该框架兼容的程序集引用或内容文件。有关更多信息,请与包作者联系。

在iOS和Android项目上,这是可以安装的,但是在这个可移植的项目上,它不会安装。

我怎样才能解决这个问题?

谢谢

EN

回答 2

Stack Overflow用户

发布于 2017-04-10 05:28:47

请查看为什么不能将套接字类安装到PCL项目中的线程,即使它在Xamarin.iOS和Xamarin.Android中得到了支持。

除了使用一些PCL就绪的socket nuget包之外,您还可以选择将System.Net.Socket安装到Android & iOS,并通过DependencyServices。调用它们。

票数 1
EN

Stack Overflow用户

发布于 2017-04-06 12:40:45

你应该试试这个插件

tpc列表器

代码语言:javascript
复制
var listenPort = 11000;
var listener = new TcpSocketListener();

// when we get connections, read byte-by-byte from the socket's read stream
listener.ConnectionReceived += async (sender, args) => 
{
    var client = args.SocketClient; 

    var bytesRead = -1;
    var buf = new byte[1];

    while (bytesRead != 0)
    {
        bytesRead = await args.SocketClient.ReadStream.ReadAsync(buf, 0, 1);
        if (bytesRead > 0)
            Debug.Write(buf[0]);
    }
};

// bind to the listen port across all interfaces
await listener.StartListeningAsync(listenPort);

否则,可以尝试在特定于平台的代码中实现套接字。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43255404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档