在Xamarin.Android 上,您可以使用所有常规的 .Net 套接字类:
命名空间:
using System.Net;
using System.Net.Sockets;
示例:
IPHostEntry ipHostInfo = Dns.GetHostEntry (Dns.GetHostName ());
IPAddress ipAddress = ipHostInfo.AddressList [0];
IPEndPoint localEndPoint = new IPEndPoint (ipAddress, 11000);
System.Diagnostics.Debug.WriteLine(ipAddress.ToString());
// Create a TCP/IP socket.
Socket listener = new Socket (AddressFamily.InterNetwork,
SocketType.Stream, ProtocolType.Tcp);
AndroidManifest.xml 所需权限为:
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
基于 MSDN 的 Asynchronous Server Socket 示例用作剪切/粘贴示例,没有任何更改。
即
使用 MSDN 代码,您可以在线程中调用静态方法 AsynchronousSocketListener.StartListening 以开始侦听 AsynchronousSocketListener 类中定义的端口 11000。
new Thread (new ThreadStart (delegate {
AsynchronousSocketListener.StartListening();
})).Start ();
一旦它在您的设备/模拟器上运行,您就可以远程登录到您的 Android TCP 套接字服务器:
>telnet 10.71.34.100 11000
Trying 10.71.34.100...
Connected to 10.71.34.100.
Escape character is '^]'.
连接后,输入This is a test<EOF>,Android 会回显:
This is a test<EOF>