在这个问题的答案中:Server Client Application with .NET and Xamarin 回答的人说:"在Xamarin.Android上你可以使用所有常规的.Net套接字类" 我尝试使用Microsoft文档示例中的代码,我没有错误,但应用程序只是在手机上显示如下:
如果我删除套接字代码,它会正常显示页面。我的代码背后:
$(function(){
$("#div").mouseover(function(){
var $p = $("#div");
$p.css("background-color","yellow");
$(".img").attr("src","https://pt.seaicons.com/wp-content/uploads/2015/07/Mushroom-1UP-icon.png");
});
});
为什么会这样?。请提供客户端移动或服务器移动套接字的示例
答案 0 :(得分:0)
StartListening
调用阻止UI线程,因为它具有无限的while循环。您在while循环中创建的标签永远不会作为内容添加到页面上。因此,您添加到其中的文本将永远不会显示。您已经在页面上定义了名称为l
的标签。在这种情况下,您可以使用它来添加文本:
l.Text = "hello";
如评论所述,您应该在另一个线程上启动套接字侦听代码,以阻止您的UI。这个可能就像写Task.Run(() => StartListening());
一样简单。确保您了解这一点,以及在离开页面或在App生命周期中如何取消此Task
。
答案 1 :(得分:0)
如果当两个设备都在同一个 LAN 中时,如果您尝试从您的手机使用正确的 Listener ip 地址和端口号进行连接,它应该可以工作。如果其中一台设备位于不同的 LAN 路由器/调制解调器后面,您将无法连接,因为除非您使用 UPnP 等端口路由机制,否则路由器将阻止所有传入连接。