我有问题。我需要在xamarin表单上使用TcpClient,但是" System.Net.Sockets"不会安装。我无法使用Nuget来安装它。
错误是。:
无法安装软件包&System; Net.Socket.Socket 4.3.0'。你在尝试 将此包安装到目标项目中 ' .NETPortable,版本= v4.6,Profile = Profile44',但包有 不包含任何程序集引用或内容文件 与该框架兼容。有关更多信息,请联系 包裹作者。
在iOS和Android项目中,这是可以安装的,但在这个便携式项目上它不会安装。
我怎么能解决这个问题?
由于
答案 0 :(得分:1)
请参阅此thread,了解为何无法将套接字类安装到PCL项目中,即使它在Xamarin.iOS和Xamarin.Android中也受支持。
除了使用一些PCL就绪套接字nuget包之外,您还可以选择将System.Net.Socket安装到Android& iOS,并通过DependencyServices.
调用它们答案 1 :(得分:0)
您应该尝试lifecycle hooks
tpc listner
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);
否则,您可以尝试在特定于平台的代码中实现Socket ..