2017-04-06 7 views
0

J'ai un problème. J'ai besoin d'utiliser TcpClient sur les formulaires xamarin, mais le "System.Net.Sockets" ne s'installera pas. Je ne peux pas utiliser Nuget pour l'installer.Installer System.Net.Sockets sur les formulaires xamarin pcl

L'erreur est .:

Impossible d'installer le paquet 'System.Net.Sockets 4.3.0. Vous essayez pour installer ce package dans un projet qui cible '.NETPortable, Version = v4.6, Profile = Profile44', mais le package ne contient aucune référence d'assembly ou fichiers de contenu compatible avec ce cadre. Pour plus d'informations, contactez l'auteur du package .

enter image description here

Sur iOS et Android projets c'est en mesure d'installer, mais sur ce projet portable, il ne sera pas installée.

Comment pourrais-je résoudre ce problème?

Merci

+0

bien si vous pouvez l'installer dans iOs et Android, alors vous êtes à mi-chemin, vous pouvez simplement les appeler de la classe portable. Parce que si ce n'est pas installable sur le PCL, il y a juste un peu que vous pouvez faire, parmi ce petit est de copier le code de "System.Net.Sockets 4.3.0". et utilisez les classes dont vous avez besoin. probablement il utilise d'autres bibliothèques qui ne sont pas supportées par PCL – BraveHeart

+0

https://developer.xamarin.com/api/namespace/System.Net.Sockets/ existe ici pour pcl ... est supporté dans les formes xamarin –

Répondre

0

Vous devriez essayer this plugin

A 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); 

Sinon, vous pouvez essayer de mettre en œuvre le Socket dans la plate-forme spécifique Code ..

+0

Salut alessandro, maintenant j'utilise ce plugin mais le mode async perdu recevoir des octets –

+0

Je pense que vous pouvez ouvrir un problème sur Github –

0

S'il vous plaît voir cette thread sur pourquoi vous ne pouvez pas installer la classe de socket dans le projet PCL, même si elle est supportée par Xamarin.iOS et Xamarin.An droïde.

Outre l'utilisation de certains des paquets de NuGet socket PCL-prêt, vous pouvez également choisir d'installer le System.Net.Socket à Android & iOS, et les appeler par DependencyServices.